這幾天著實為sql注入漏洞傷了神,網上的代碼好多不是很深奧就是麻煩。終於找到了萬能防注代碼,分享了,呵呵 。操作簡單上手,只要來個包含或放入conn.asp中,搞定。末了,估計還有一些危險字元沒有放全,幫我補全一下,謝謝了!
<%
''''--------定義部份------------------
Dim Fy_Post,Fy_Get,Fy_In,Fy_Inf,Fy_Xh,Fy_db,Fy_dbstr
''''自訂需要過濾的字串,用 "防" 分隔
Fy_In = "''''防;防and防exec防insert防select防delete防update防count防*防%防chr防mid防master防truncate防char防declare防<防>防=防|防-防_"
Fy_Inf = split(Fy_In,"防")
If Request.Form<>"" Then
For Each Fy_Post In Request.Form
For Fy_Xh=0 To Ubound(Fy_Inf)
If Instr(LCase(Request.Form(Fy_Post)),Fy_Inf(Fy_Xh))<>0 Then
Response.Write "<Script Language=JavaScript>alert(''''網長友情提示駭客大俠↓請不要在參數中包含非法字元嘗試注入攻擊本站,本站做起來很不容易的.俺是菜鳥,好怕怕,放俺一馬吧!給俺留言'''');</Script>"
Response.Write "非法操作!本站已經給大俠您做了如下記錄↓<br>"
Response.Write "操作IP:"&Request.ServerVariables("REMOTE_ADDR")&"<br>"
Response.Write "操作時間:"&Now&"<br>"
Response.Write "操作頁面:"&Request.ServerVariables("URL")&"<br>"
Response.Write "提交方式:POST<br>"
Response.Write "提交參數:"&Fy_Post&"<br>"
Response.Write "提交資料:"&Request.Form(Fy_Post)
Response.End
End If
Next
Next
End If
If Request.QueryString<>"" Then
For Each Fy_Get In Request.QueryString
For Fy_Xh=0 To Ubound(Fy_Inf)
If Instr(LCase(Request.QueryString(Fy_Get)),Fy_Inf(Fy_Xh))<>0 Then
Response.Write "<Script Language=JavaScript>alert(''''網長友情提示駭客大俠↓請不要在參數中包含非法字元嘗試注入攻擊本站,本站做起來很不容易的.俺是菜鳥,好怕怕,放俺一馬吧!給俺留言'''');</Script>"
Response.Write "非法操作!本站已經給大俠您做了如下記錄↓<br>"
Response.Write "操作IP:"&Request.ServerVariables("REMOTE_ADDR")&"<br>"
Response.Write "操作時間:"&Now&"<br>"
Response.Write "操作頁面:"&Request.ServerVariables("URL")&"<br>"
Response.Write "提交方式:GET<br>"
Response.Write "提交參數:"&Fy_Get&"<br>"
Response.Write "提交資料:"&Request.QueryString(Fy_Get)
Response.End
End If
Next
Next
End If
%>