Att lägga stor vikt på att utforma webbformulär är något som ofta förbises vid webbdesign. Man ser det inte så viktigt hur inloggningsformulär och och registreringssidor ser ut. Istället satsar man på virala reklam-jippon eller dyra Adwords-kampanjer för att få fler besökare och större intäkter på sina webbplatser.
Åtminstone har det varit så innan, den nya web2.0-filosofin är ju fokuserad på användaren och dess behov, så nu börjar webbutvecklare få upp ögonen för hur viktigt det är, att ha en användarvänlig design. Se bara på de där överdimensionerade inmatningsfälten som börjar bli så vanliga.
Genom att veta hur man designar ett formulär på bästa sätt, så kan man öka intresset för sin webbtjänst, eller öka försäljning om det handlar om en e-handelsajt. CSS-experten Eric Meyer berättar i en intervju att en handelsida ökade sin försäljning med hundra-tusentals dollars bara genom att ändra på två inmatningsfält.
Då hade nog den sajten rätt stor omsättning innan, men den positiva effekten på en sån liten ändring är väldigt intressant och något varje webbplatsägare bör ägna en tanke på.
Inloggningsuppgifter till 100 ambassaders emailkonton har publicerats på nätet av en (modig) svensk säkerhetskonsult vid namn Dan Egerstad. DN och Computer Sweden skriver mer och har intervjuat honom. Den kommer nog inte dröja länge innan resten av världen snappar upp denna nyhet. Computer Sweden har vart smarta och även skrivit artikeln på engelska (nog första gången jag ser detta på IDG-nätverket). Den kommer nog bli rätt friskt länkad under morgondagen.
Han meddelar att han kommit över denna information genom en säkerhets-labb han gjorde för ett tag sen. Sedan dess har han funderat på vad han skulle göra med den, och beslutade sig till sist för att publicera den publikt och meddela media.
Klokt eller ej får framtiden utvisa men man kan förstå problemet han brottats med. Att kontakta alla 100 ambassader skulle väldigt tidskrävande och det skulle nog kunnas tas emot på fel sätt av myndigheterna. Att överlämna uppgifterna till Säpo vore ett spioneribrott.
Läs själva hans meddelande på bloggen där uppgifterna publicerats, Deranged Security.
Förhoppning om säkrare e-postsystem
Förhoppningsvis kan något gott komma ur detta, det är ju uppenbart att vi behöver säkrare e-postsystem. Än så finns inga uppgifter på hur informationen har läckt och det är det nog många som vill ha svar på.
Första problemet med nuvarande email-system är att man kan skicka mail från vilken adress som helst, med lite programmeringskunskaper. Spam hade varit mycket svårare att skicka ifall detta inte var fallet.
Att det nu visar sig finnas brister, som gör att man kan komma över inloggningsuppgifter och läsa epost, borde sätta igång en utveckling mot säkrare system. Låt oss hoppas på det i alla fall.
Uppdateringar
(2007-08-31) Indiska tidningar har loggat in på e-postkonton för den indiska ambassaden i Kina med hjälp av inloggningsuppgifterna som läckt ut. Dessa har sedan publicerats på deras nätupplaga,som innehåller bland annat lista på inköp gjorda av det indiska försvaret
Urchin är ett statistikverktyg för att analyera besökartrafik. Det köptes år 2005 av Google och är det program som ligger till grund för Google Analytics.
Nu har det kommit fram Urchin v5.7.03 verkar vara sårbart mot XSS-attacker och att det i vissa fall verkar att kringgå inloggningsskyddet. Ha.ckers.org har mer info och visar exempel på hur man kan länka in JavaScript från en extern sajt, till inloggningsformuläret i Urchin.
Vi jobbar med några servrar som det körs Urchin på och har kunnat bekräfta XSS-problemen. Här är ett exempel på en länk som jag lyckades köra (adressen och portnumret är påhittade)
Ja nu börjar Silverlight-applikationerna mogna lite. Microsoft visar upp Tafiti, ett experimentellt sökkoncept, baserat på deras nya Silverlight-teknik och med Live som dataprovider.
Demot bjuder på en del roliga finesser, bland annat "trädet"som ni kan se en skärmdump på ovan. Inte helt användbar kanske, men ett fint exempel på hur visualisering kan göra sökning roligare.
När folk ser mitt skrivbord på min laptop får de ofta en chock pga hur överfullt och med filer det är. För ett tag sen såg det nästan så här illa ut. Killen som har skrivbordet i länken har som idé, att han vill ta vara på allt utrymme. Han tänker så att om jag fyller allt tomt utrymme, med så mycket grejer det bara går, så har han allt han behöver inom så kort räckvidd som möjligt.
Skälet till att mitt skrivbord har varit så hopplöst överbelagt, är inte det samma som hans, utan jag inser att det skulle vara lättare att jobba om jag hade bättre ordning på inkommande filer. Jag använder det som en slags dumpplats för filer som jag tar emot på mail och chattklienter. Och känner oftast inget behov att städa, tills det har gått över styr..
Nu har jag inspirerats av Coding Horror's "Discipline Makes Strong Developers" så har jag bestämt att det är dags för en ny regim. Ordning och reda på skrivbord, mail och källkod i projekten. Eftersom jag precis har installerat om XP, så är detta ett gyllende tillfälle att börja hålla bättre ordning.
Hur skulle det kunna bli roligare?
Ända sen jag såg Bumptop för första gången, insåg jag att om jag hade ett liknade interface på skrivbordet, så skulle det vara mycket roligare att hålla ordning. Missa inte det lustiga parodin som nån lagt upp på YouTube, som visar hur Bumptop skulle se ut om man använde det i verkliga livet.
(Några dar senare:) Inlägget handlade i första hand om att städa på sin lokala dator, men vill tipsa om en länk på ungefär samma ämne. Backend Media ger bra råd till hur man kan se över sin webbplats, och städa bort gamla sidor som inte är så välbesökta. Bra läsning.
Den inbyggda filhanteraren i XP har några begänsningar den visar inte storleken på innehållet i flera mappar samtidigt. Man kan hålla muspekaren över varje mapp för att få reda på detta men det är inte så effektivt alla gånger.
Tänkte därför tipsa om ett litet program som heter TreeSize. Det finns i en gratis version med de grundläggande funktionerna och är bra att ha om man vill städa bort stora filer på sin dator. Fungerar på Windows 9x, 2000, XP och Vista.
Försökte att lägga till en RequiredFieldValidator för att kontrollera att en CheckBox var ikryssad vid postning, men det gick inte så bra. Felet blev:
Control 'CheckBox1' referenced by the ControlToValidate property of 'RequiredFieldValidator1' cannot be validated.
Någonstans läste jag att man inte lagt till denna möjlighet på CheckBox för att "bägge värdena alltid är riktiga". Det kanske kan vara ett bra argument, men jag ville endå ha denna funktionelitet. I mitt fall gällde det en ruta som användaren måste kryssa i för att fortsätta.
Så jag gjorde det med en CustomValidator istället, så här ser uppmärkningen ut på sidan.
<asp:CheckBox id="CheckBox1" runat="server"></asp:CheckBox> <br /> <asp:CustomValidator ClientValidationFunction="ValidateChecked" Runat="server" ID="termsReadUnchecked" ErrorMessage="You must tick this box to continue"/>
Och i koden bakom lägger jag till JavaScript-funktionen för valideringen.
Har ägnat nån timme åt att försöka skicka mail med SMTP-servern i IIS 5.1 och nu lyckats få iväg några mail. Här går jag igenom de steg jag fick göra för att få det att fungera.
Mailkoden
Själva mailkoden jag använder i applikationen använder System.Net.Mail och ser ut ungefär så här:
SmtpClient smtpClient = new SmtpClient("localhost"); //smtpClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis; MailAddress from = new MailAddress("from@dummysite.domain", "Alias from name"); MailAddress to = new MailAddress("to@dummysite.domain"); MailMessage mail = new MailMessage(from, to); mail.IsBodyHtml = true;
mail.Subject = "From my local computer"; mail.Body = "Testing, testing";
smtpClient.Send(mail);
"SmtpDeliveryMethod.PickupDirectoryFromIis" var något jag trodde behövdes ett tag, eftersom jag läste om det på ett forum, men det visade sig att det gick bra att skicka även utan.
Ställa in SMTP-Server
Det problemet kom i form av ett felmeddelandet som såg ut så här:
Mailbox unavailable. The server response was: 5.7.1 Unable to relay for ...
Lösningen till detta hittade jag på CodeBetter och innebar att lägga till 127.0.0.1 som giltigt IP-nummer för att skicka mail från SMTP-server. (Egenskaper / Åtkomst / Anslutning / Endast datorer i listan nedan)
När detta var klart så försökte jag skicka igen, nu fungerade det i applikationen men mailen fastnade i C:\Inetpub\mailroot\Queue.
Lösningen på detta fann jag på Velocityreviews där medlemmarna förklarade att man behövde lägga till en giltigt SMTP från sin ISP. (Egenskaper / Leverans / Avancerat / Smart värd)
Hoppas detta kan hjälpa någon som vill kunna skicka mail från sin egen dator med ASP.NET.
Jag kommer ihåg när man jobbade med klassisk ASP, och gick över till ASP.NET, att begreppet PostBack var rätt förvirrande. Typ: "Vadå ska varje sida posta tillbaks till sig själv?" Efter ett tag förstod man finessen och nu skulle skulle jag inte vilja byta tillbaks till hur föregångaren fungerade.
Ibland vill man dock kunna posta data från ett formulär till en annan URL, speciellt när man har att göra med betalväxlar (t ex Postens betalväxel), som ofta fungerar så.
PostBackUrl
I ASP.NET 1.1 var det rätt begränsade möjligheter men i 2.0 fick vi attributet PostBackUrl som kan sättas på Button, LinkButton och ImageButton. Har aldrig använt det själv men borde fungera bra.
HttpWebRequest
Med HttpWebRequest kan man skicka webbströmmar med data. Passar bäst om man vill att postningen ska ske i bakgrunden om jag förstått det rätt, och inte lika bra om man vill att webbläsaren ska följa URLen, som postningen sker till. Jag kan ha fel här för har inte provat så mycket med denna metod. Här är ett exempel som verkar rätt lätt att förstå.
Med JavaScript
Man kan lägga till ett extra formulär på sidan och posta detta genom att registrera ett javascript, från koden bakom, ungefär så här.
Här är ett exempel på hur man kan använda HttpContext för att helt enkelt bygga ihop formuläret själv med html-taggar. Det är skrivet av Jigar Desai och finns att ladda hem på C# Corner.
Här kommer lätt modifierad variant:
using System; using System.Web; using System.Text; using System.Collections.Specialized;
/// <summary> /// Summary description for RemotePost /// </summary>
public class RemotePost { private NameValueCollection inputs = new NameValueCollection();
RemotePost remotePost = new RemotePost(); remotePost.Url = "http://theRemoteDomain/Page.aspx"; remotePost.Add("field1","This is my first value"); remotePost.Add("field2","And another one"); remotePost.Post();
Läste hos beNi att VI-SU har gjort en beräkning på när nästa uppdatering av Google PageRank färväntas ske.
Om man kollar på hur lång tid det vart mellan uppdateringarna innan så brukar det vara i genomsnitt 77,18 dagar mellan varje. Om Google hade följt denna takten så skulle uppdateringen skett igår den 16 aug.