FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Nykomling
|
Räcker det att använda
Text = Replace(Request.Form("Text"), "'", "''") id = CLng(Request("id")) för att motverka SQL Injections??? Vad är det för skillnad mellan Text = Replace(Request.Form("Text"), "'", "''") och Text = Replace(Request.Form("Text"), "/", "//") ??? |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Nykomling
|
Text = Replace(Request.Form("Text"), "'", "''")
Byter ut ' mot ingenting och det är, som jag förstår det, det viktigaste för att skydda sig. Text = Replace(Request.Form("Text"), "/", "//") Ser till att den som attackerar inte kan hoppa runt bland dina kataloger genom att lägga till en extra / till sökvägen /JonasB |
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Nykomling
|
Citat:
Mess = Request.Form("Mess") Mess = Replace(Mess, "'", "''") Mess = Replace(Mess, "/", "//") Då har man garderat sig mot injections? |
||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Nykomling
|
Jag är ju då inte någon ASP hacker, håller mig till PHP, men som jag förstår det så bör det räcka med Text = Replace(Request.Form("Text"), "'", "''")
Text = Replace(Request.Form("Text"), "/", "//") kommer göra att du inte kan skriva några webbadresser i texten. /JonasB ps kollade lite noggrannare på Replace(Request.Form("Text"), "'", "''") och såg att den byter en ' mot två ''. |
||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Nykomling
|
Citat:
Alltså när man skriver detta: Text = Request.Form("Text") Text = Replace(Text, "'", "''") Text = Replace(Text, "/", "//") Vad gjör Text = Replace(Text, "'", "''") egentligen? |
||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Mycket flitig postare
|
om du t.ex i en sträng ska ha med ett " så ser strängen ut så här
myString = "jag vill ha med "" i min text..." dvs dubbla för att få med ett enda.. när man sen skriver ut den strängen så får du faktiskt bara ett enda.. så '' i en sträng blir ett enda iaf.. luddig förklaring men jag kommer inte på nån annan just nu |
||
![]() |
![]() |
![]() |
#7 | ||
|
|||
Mycket flitig postare
|
Är jag dryg om jag tycker att:
Om man inte vet vad "Text = Replace(Text, "'", "''") " gör så är inte SQL injections ditt största problem. Du behöver läsa på och bli en duktig programmerare först. Sedan kan du börja fundera på detaljer som hur inloggning skall bli säkert, hur du undviker SQL-injections, hur du bör designa din databas etc. Det är ju uppenbart vad funktionen gör: Den byter ut en sträng mot en annan och syftet är att det i din SQL sträng skall inte ett " i input möjliggöra SQL-injections. Syftet är väl uppenbart om man vet hur den vanligaste SQL-injection attacken ser ut. Och nej, inget av det du skriver är en garanti. Det finns fler saker som kan spela in hur en SQL injection skulle kunna lyckas. Men de replact du föreslagit räcker sannolikt. Jag förstår att det är svårt att skydda sig mot något man inte förstår hur det görs. Det är därför jag tycker du ska fundera mer på hur SQL injections görs istället för att fråga "räcker det här". |
||
![]() |
![]() |
![]() |
#8 | ||
|
|||
Nykomling
|
Citat:
|
||
![]() |
![]() |
![]() |
#9 | ||
|
|||
Mycket flitig postare
|
Citat:
Alla språk har sitt sätt att escapa specialtecken. |
||
![]() |
![]() |
![]() |
#10 | ||
|
|||
Nykomling
|
Citat:
|
||
![]() |
![]() |
Svara |
|
|