7 messaggi dal 26 settembre 2008
Salve,
Innanzi tutto si tratta di classic ASP e non ASP.NET. Ho postato qui perchè classic ASP non lo trovo. Volevo migliorare la protezione con una funzione replace più ampia e ho fatto così:

  Function ProteggiSQLI (txtData)
     TxtData = Replace (txtData, "%", "")
     TxtData = Replace (txtData, "'", "")
     TxtData = Replace (txtData, "*", "")
     TxtData = Replace (txtData, "-", "")
     TxtData = Replace (txtData, "'", "''")
     TxtData = Replace (txtData, """", "")
     TxtData = Replace (txtData, ")", "")
     TxtData = Replace (txtData, "(", "")
     TxtData = Replace (txtData, ",", "")
     TxtData = Replace (txtData, "-", "")
     TxtData = Replace (txtData, "|", "")
     TxtData = Replace (txtData, "select", "")
     TxtData = Replace (txtData, "drop", "")
     TxtData = Replace (txtData, "insert", "")
     TxtData = Replace (txtData, "delete", "")
     TxtData = Replace (txtData, "__ ", "")
     ProteggiSQLI = txtData
 End Function

dopo di che richiamo la funzione qui:


DL_Username=ProteggiSQLI(CStr(Request.Form("utente")))

e

ProteggiSQLI(Request.Form("pwd"))



Volevo sapere se ho fatto errori, dal momento che non ho modo di verificare.

Grazie
Buona giornata a tutti
Errori in che senso? Mi sembra corretto... non sarà troppo restrittivo?
In questo caso sarebbe opportuno usare una regular expression...

Ormai programmano tutti... ma la professionalità appartiene a pochi
7 messaggi dal 26 settembre 2008
Ho subito in questi giorni un attacco e allora pensavo che più restrittivo potevo essere, meglio sarebbe stato.

Per errore intendevo in particolar modo se avevo richiamato correttamente la funzione.

A me sembra OK, ma qualche paio di occhi in più non guastano mai :)

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.