Citat:
Originally posted by Kay@Jun 3 2009, 16:03
Jag har lite funderingar kring säkerhet också. Knackar ASP classic.
Formulärsfältet "kommentar" kollas med Regexp så det är exempelvis A-Z, a-z, 0-9. Om det replikerar True, är det lugnt att köra formulärsfältsvärdet ostrippat i en SQL-sträng eller är det möjligt att mata in data som går igenom regexpen men som ändå innehåller skräp som kan manipulera SQL-strängen?
Om jag sätter en session på en sida och vill skriva ut den på nästkommande utan Server.HTMLEncode() / htmlspecialchars(), kan jag vara säker på att den innehåller det jag själv angett den till eller kan andra manipulera session-innehåll ifall någon exempelvis vet en sessions namn?
Vilka tecken bör strippas bort ifall man vill använda en Form/QueryString-variabel i en SQL-sats? Räcker det med att ersätta enkelfnutt med två?
|
Om du inte behöver ha html så strippa allting - det är bäst.
Sen tycker jag att bara för att du har klientvalidering så skippa inte servervalideringen..
Vet inte hur asp classic är (har bara jobbat med asp.net 3.5 (ado).. men där finns funktioner så att man kan lägga in data till en query som parameter vilket är ett säkert sätt - iaf mot sql injections.