実際、SQL インジェクションの脆弱性は、原則を知っていて忍耐強く注意すれば、完全に防ぐことができます。
以下は、すべての SQL インジェクションの脆弱性に対処するのに十分な 4 つの関数です。コードを理解していれば理解できます。
すべてのリクエスト オブジェクト (request.cookie、request.ServerVariables、およびその他の見落とされやすいオブジェクトを含む) のフィルタリングに注意してください。
プログラムコード
次のようにコードをコピーします。
function killn(byval s1) '数値パラメータをフィルタリングします
isnumeric(s1) でない場合は、
キルン=0
それ以外
if s1<0 または s1>2147483647 then
キルン=0
それ以外
killn=clng(s1)
終了する場合
終了する場合
終了関数
関数 killc(byval s1) は通貨パラメーターをフィルターします
isnumeric(s1) でない場合は、
killc=0
それ以外
killc=フォーマット番号(s1,2,-1,0,0)
終了する場合
終了関数
function killw(byval s1) '文字パラメータをフィルタリングします
len(s1)=0の場合
キル「」
それ以外
killw=trim(replace(s1,"'",""))
終了する場合
終了関数
関数 killbad(byval s1) は、クロスサイト スクリプティングを含むすべての危険な文字をフィルタリングします。
len(s1) = 0 の場合
キルバッド=""
それ以外
killbad = トリム(replace(replace(replace(replace(replace(replace(s1,Chr(10), "<br>"), Chr(34), """), ">", "> ")、"<"、"<")、"&"、"&")、chr(39)、"'")、chr(32)、" "),chr(13),""))
終了する場合
終了関数