![]() |
När jag använder replace koder i ASP för att sortera bort känsliga tecken för att skydda mina inputs mot SQL Injections har jag märkt att replace koderna är Case Sens... Jag kom på ett sätt att få bort det, genom att göra om texten som skall rensas till Lower Case, dock ser det stört ut på profilerna etc, när man itne kan skriva med versaler.
Någon som vet något bra sätt att göra replace inte case sens? |
Vad är det du letar efter då? Borde det inte vara tillräckligt safe att bara leta efter specialtecken?
|
Jo de klart, men tänkte på typ DROP, TRUNCATE och sådana.
|
"update profiler set text='TRUNCATE users' where id=5" gör inget annat än uppdaterar profiltexten till "TRUNCATE users". Så länge du rensar de relevanta specialtecknena så är du säker från injicerad SQL.
|
Du bör nog hellre skydda dig emot detta på Serversidan istället. Alltså i MySQL, har du tillgång till MySQL användar hanterare så gör enbart så att ditt konto du skall använda live enbart kan göra det du behöver: SELECT, UPDATE, INSERT & kanske DELETE.
|
Det är väl bra enkelfnuttar och backslash du behöver skydda dig emot?
Gör en replace där dessa blir samma tecken x 2 bara. |
Det där är ett helt värdelöst skydd. Det enda sättet att skydda sig på är genom att köra med ADODB.Command och parametrar.
Kika här: http://www.aspsidan.se/default.asp?p...d=5&pId=562673 Du bör även använda stored procedures och inte bara vanliga sql-injections på sidan. Då kan du genom dem ange direkt vilken kod som ska köras och samtidigt få all sql-kod på samma plats, vilket underlättar om du hittar något fel. |
Citat:
Dock såg detta ut att kunna lösa problemet: Kod:
Const adVarChar = 200 |
Citat:
|
Alla tider är GMT +2. Klockan är nu 02:08. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson