Gå til innhold

Anbefalte innlegg

Dette ASP-scriptet (som skal fjerne SQL-injection-søppel fra et ntext-felt):

 

1:set objConn = server.createObject("ADODB.Connection")
2:objConn.open("Provider=SQLOLEDB;Data Source=*****;Uid=*****;Pwd=*****")
3:
4:txtInjected = "<script src=http://www.bigadnet.com/b.js></script>"
5:
6:strSQL = "SELECT intID, txtDesc FROM Tabell"
7:set originalRs = objConn.execute(strSQL)
8:do while not originalRs.eof
9:	txtDesc = replace(originalRs.fields("txtDesc"), txtInjected, "")
10:	intID = originalRs.fields("intID")
11:	strSQL = "UPDATE Tabell " _
12:		& "SET txtDesc = '" & txtDesc & "' " _
13:		& "WHERE intID = " & intID
14:	objConn.execute(strSQL)
15:	originalRs.movenext
16:loop

 

gir feilmeldingen "Incorrect syntax near"... på linje 14. Dersom jeg skriver ut strSQL og limer inn queryen i Query Analyzer, så kjøres queryen helt fint. Hvor er bugen?

 

-s

Lenke til kommentar
Videoannonse
Annonse

Hvis dette er en engangs ryddejobb så kan du vel heller kjøre UPDATE statementene i SQL Server Management Studio?

 

UPDATE Tabell 
SET txtDesc=REPLACE(txtDesc,'<script src=http://www.bigadnet.com/b.js></script>','')
WHERE txtDesc LIKE '%<script src=http://www.bigadnet.com/b.js></script>%'

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...