Fonction SafeRequest (ParaName, ParaType)
'--- Passer les paramètres ---
'ParaName : nom du paramètre - type de caractère
'ParaType : Type de paramètre - type numérique (1 indique que les paramètres ci-dessus sont des nombres, 0 indique que les paramètres ci-dessus sont des caractères)
Dim ParaValeur
ParaValue=Demande (ParaName)
Si ParaType=1 alors
Si ce n'est pas isNumeric (ParaValue) alors
Le paramètre Response.write & ParaName & doit être numérique !
Réponse.end
Terminer si
Autre
ParaValue=remplacer(ParaValue, ', ' ')
Terminer si
SafeRequest=ParaValue
Fin de fonction
Utilisez SafeRequest(ParaName,ParaType) au lieu de request.form() et request..querystring()
************************************************** * ************************************************* ** *****
-------------------------------------------------- -------------------------------------------------- ---------------------------------------
************************************************** * ************************************************* ** *****
<%
dimsql_injdata
sql_injdata= '|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare
sql_injHint=replace(sql_injdata,|, )
sql_injHint=remplacer(sql_injHint, ', ')
sql_inj=split(sql_injdata,|)
si request.querystring<> alors
pour chaque getData dans request.querystring
pour i=0 à ubound(sql_inj)
si instr(lcase(request.querystring(getData)),sql_inj(i))>0 alors
soupçon=alert( 'Pour garantir la sécurité des informations utilisateur, veuillez ne pas utiliser de caractères d'injection illégaux. Les caractères suivants sont illégaux : @sql_injHint@ ');
indice=remplacer(indice,@sql_injHint@,sql_injHint)
réponse.write <langage de script=javascript>
indice de réponse.write
réponse.écrire l'historique.back()
réponse.write </script>
réponse.end
finir si
suivant
suivant
finir si
si request.form<> alors
pour chaque getData dans request.querystring
pour i=0 à ubound(sql_inj)
si instr(lcase(request.form(getData)),sql_inj(i))>0 alors
soupçon=alert( 'Pour garantir la sécurité des informations utilisateur, veuillez ne pas utiliser de caractères d'injection illégaux. Les caractères suivants sont illégaux : @sql_injHint@ ');
indice=remplacer(indice,@sql_injHint@,sql_injHint)
réponse.write <langage de script=javascript>
indice de réponse.write
réponse.écrire l'historique.back()
réponse.write </script>
réponse.end
finir si
suivant
suivant
finir si
%>Formez ce code dans un fichier (tel que : defanj.asp) et ajoutez tous les fichiers qui doivent être utilisés dans la base de données à l'en-tête <!--#include file=defanj.asp-->