Spesso può capitare che qualche visitatore del vostro sito sia un pò biricchino e cominci a cercare di violare le query ai db iniettando del codice SQL in una applicazione (SQL INJECTION) per compiere operazioni dannose (ad es. la cancellazione di record e l'aggiunta di poteri) o comunque non previste dallo sviluppatore.
Questa tecnica di attacco è solitamente praticabile solo quando lo sviluppatore si è dimenticato di effettuare alcuni controlli sulle pagine che accedono ai dati, sopratutto i dati POST.

Questa funzione non fa altro che rimuovere (attraverso la l'istruzione "Replace") quei "caratteri speciali" generalmente usati nelle query ai database.
<%
Function CleanStr(sTesto) 
'Se non e' una stringa vuota ... 
If Len(sTesto)>0 Then
sTesto = Replace(sTesto,"'","''")
stesto = replace(sTesto, "*", "[*]")
stesto = replace(sTesto, "%", "[%]")
End If
CleanStr=sTesto
End Function
%>

Quindi basterà filtrare i campi dei form prima che vengano passati al DB in questo modo:
<%xxx = CleanStr(Request.Form("yyy"))%>

Alla prossima!