28. april 2005 - 18:39Der er
13 kommentarer og 2 løsninger
to parametre i SELECT på samme WHERE
Hey E
IIS 5.0/ASP/IE
Hvordan sætter jeg to strings ind i en WHERE?
esk = Request.QueryString("esk")
strSQL = "select * from bem right join fly_status on bem.Bstel = fly_status.MOC_stelnr where MOC_enhed = '" & esk & "' and MOC_sortering = '" & statusQ & "' order by " & sOrderBy & " " & sSort
Så vidt jeg kan forstå, vil du hente de to værdier ikke?
Prøv med:
strSQL = "select * from bem right join fly_status on bem.Bstel = fly_status.MOC_stelnr where MOC_enhed IN (" & esk & ") and MOC_sortering = '" & statusQ & "' order by " & sOrderBy & " " & sSort
Fejltype: Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC Microsoft Access-driver] Operatoren In er brugt uden () i forespørgselsudtrykket "MOC_enhed IN = (ESK727) and MOC_sortering = '1'". /fsnskp/RT-SRS/visstatus.asp, line 53
strSQL = "select * from bem right join fly_status on bem.Bstel = fly_status.MOC_stelnr where MOC_enhed IN = (" & skp & ") and MOC_sortering = '" & statusQ & "' order by " & sOrderBy & " " & sSort
... der mangler ikke meget, hvad kan det mon være?
strSQL: strSQL = "select * from bem right join fly_status on bem.Bstel = fly_status.MOC_stelnr where MOC_enhed = '" & esk & "' and MOC_sortering = '" & statusQ & "' order by " & sOrderBy & " " & sSort
udskrift: select * from bem right join fly_status on bem.Bstel = fly_status.MOC_stelnr where MOC_enhed = 'ESK730,ESK727' and MOC_sortering = '1' order by MOC_stelnr ASC
hvor: MOC_enhed = esk MOC_sortering = statusQ
både esk og statusQ kommer fra Request.Querystring's
kender ikke til injektion. Hvorfor er det usikkert at bruge url?
denne faste SQL fra ACCESS virker: strSQL = "select * from bem right join fly_status on bem.Bstel = fly_status.MOC_stelnr WHERE (((fly_status.MOC_enhed)='ESK730') AND ((fly_status.MOC_sortering)='1')) OR (((fly_status.MOC_enhed)='ESK727') AND ((fly_status.MOC_sortering)='1'))"
sql injection er når en misbruger din sql.. hvis det er muligt at indtaste ' i din url så opfattes det i din kode som sql. Derved kan man direkte fra url´en ændre din sql sætning og fx skrive noget med 'Or Drop Table' ... hvor efter hele din tabel slettes :o( Så på alle dine request.querystring("felt") ... bør du lave om til replace(request.querystring("felt"),"'","''") Så udskifter den hvis der er et ' med to '' ...derved kan det ikke misbruges Blot for din egen sikkerhed :o)
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.