KoggenMedlem sedan juni 2002169 inlägg Jag läste någonstans att man för att få en säker inloggning bland annat skall se till så att en del nyckelord i SQL inte kan matas in. T ex SELECT DELETE DROP o.s.v.
Kan man göra den kontrollen med javascript istället för med ASP?
Exempelvis om någon föröker mata in SELECT så får man upp en alertruta.
Det blir ju snabbare om det körs på klientdatorn, men blir det lika säkert? Vad händer t ex om browsern inte kör javascript..
Visst går det med javascript, men tänk dig detta, Användaren stänger av javascript funktionen i sin browser, vilken säkerhet har du då, bara den som du hade om du inte stoppade select, delete och drop!!!
Använd dig av server-språk för att hindra detta i såna fall!
om du ska vara poå den lite säkrare sidan!! :e
trexterMedlem sedan mars 20021 889 inlägg Kan du skicka någon artikel om det elller liknande?
:)
Det är inte själva nyckelorden du ska filtrera bort. (det beror ju förstås på hur du bygger upp queryn med hjälp av formulärvärdet).
Typexempel är: strQuery="select id from tblUser where userName='" & request("user") & "' and password='" & request("pwd") & "'"
En inmatning i fälten på detta sätt släpper igenom inloggaren:
' OR 'a'='a
Filtrera i detta fall bort tecknet '
/C2
VideMedlem sedan dec. 19998 577 inlägg Vart läste du att det var en säkerhetsrisk att inte ta bort dessa ord?
OveRRidEMedlem sedan feb. 200112 078 inlägg I alla värden som matas in i en SQL-statement, måste en apostrof ersättas med två.
Alltså:
user = [red]replace([/red]request.form("user")[red],"'","''")[/red]
pasw = [red]replace([/red]request.form("pasw")[red],"'","''")[/red]
SQL = "SELECT * FROM users WHERE user = '" & user & "' AND pasw = '" & pasw & "'"
KoggenMedlem sedan juni 2002169 inlägg Jag läste om nyckelorden i ett omfattande PDF-dokument jag hittade på nätet. Jag har inte adressen här, jag får återkomma :)
Override: Det var inte det vi diskuterade.
Koggen: Läste du inte mitt tidigare inlägg?
/C2
Engine^Medlem sedan dec. 20003 887 inlägg
C2 Rockar skrev:
Override: Det var inte det vi diskuterade.
Jasså... jag tyckte att det var precis det du påpekade i din tidigare post och kärnan i probelmet.
Kör med en validering på klienten och sen en på servern.. då slipper du köra den på servern för de som har Javascriptet påslaget.
Sen är det som de andra säger.. skydda dig inte bara mot vissa nyckelord, utan också enkelfnutten (').
OveRRidEMedlem sedan feb. 200112 078 inlägg
C2 Rockar skrev:
Override: Det var inte det vi diskuterade./C2
Jasså, inte? :e
Jo, det tror jag nog. Hur kan du annars motivera din förklaring att filtrera bort apostroferna ur värden som konkateneras in i ett SQL-statement?
KoggenMedlem sedan juni 2002169 inlägg C2: Jodå jag läste ditt inlägg, men det jag svarade på var Vides fråga.