29. november 2002 - 21:45Der er
6 kommentarer og 1 løsning
Fejl i script
Hvad er fejlen, jeg får intern server fejl 500.
Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=c:\websider\service-info.dk\db\database.mdb" Conn.Open DSN sql="select * from database where (request.form("D1")='"&request.form("T1"))&"'" set record=conn.execute(sql) If not (record.BOF Or record.EOF) Then
Men du er ude i noget halvfarligt, hvis dette er hvad du mener. Du lader et feltnavn (og en værdi) blive bestemt af en formular, hvilket lader en vilkårlig hacker vælge andre feltnavne end dem du havde tænkt dig, og fx få listet hele databasen. I værst tænkeligt tilfælde (afhængig af den SQL-version du bruger) måske også adgang til at slette databasen.
Værdier gør det ikke så meget ved. Man skal selvfølgelig altid når det er Access erstatte en ' med to '' inden man bruger det i en SQL-sætning
Mit svar var 100% korrekt på baggrund af de oplysninger du har givet, hvilket du også har set i et andet spørgsmål. Men, herregud, det må du da selv om.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.