維護與安全
防SQL注入代碼(ASP版), 網站防SQL注入,網站防跨站攻擊
信息來源:轉載 互聯網  /  發布時間:2019-3-19  /  瀏覽數量:

防SQL注入代碼(ASP版)

<% 
Dim Fy_Url,Fy_a,Fy_x,Fy_Cs(),Fy_Cl,Fy_Ts,Fy_Zx 
'---定義部份 頭------ 
Fy_Cl = 1 '處理方式:1=提示信息,2=轉向頁面,3=先提示再轉向 
Fy_Zx = "index.Asp" '出錯時轉向的頁面 
'---定義部份 尾------ 

On Error Resume Next 
Fy_Url=Request.ServerVariables("QUERY_STRING") 
Fy_a=split(Fy_Url,"&") 
redim Fy_Cs(ubound(Fy_a)) 
On Error Resume Next 
for Fy_x=0 to ubound(Fy_a) 
Fy_Cs(Fy_x) = left(Fy_a(Fy_x),instr(Fy_a(Fy_x),"=")-1) 
Next 
For Fy_x=0 to ubound(Fy_Cs) 
If Fy_Cs(Fy_x)<>"" Then 
If Instr(LCase(Request(Fy_Cs(Fy_x))),"'")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"select")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"update")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"chr")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"delete%20from")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),";")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"insert")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"mid")<>0 Or Instr(LCase(Request(Fy_Cs(Fy_x))),"master.")<>0 Then 
Select Case Fy_Cl 
Case "1" 
Response.Write "<Script Language=JavaScript>alert(' 出現錯誤!參數 "&Fy_Cs(Fy_x)&" 的值中包含非法字符串!\n\n 請不要在參數中出現:and,select,update,insert,delete,chr 等非法字符!\n\n我已經設置了不能SQL注入,請不要對我進行非法手段!');window.close();</Script>" 
Case "2" 
Response.Write "<Script Language=JavaScript>location.href='"&Fy_Zx&"'</Script>" 
Case "3" 
Response.Write "<Script Language=JavaScript>alert(' 出現錯誤!參數 "&Fy_Cs(Fy_x)&"的值中包含非法字符串!\n\n 請不要在參數中出現:,and,select,update,insert,delete,chr 等非法字符!\n\n設計了門,非法侵入請離開,謝謝!');location.href='"&Fy_Zx&"';</Script>" 
End Select 
Response.End 
End If 
End If 
Next 
%>

以上代碼為較多網友所用,從使用的感言來看,效果顯著。

Dim Query_Badword,Form_Badword,Err_Message,Err_Web,form_name 

'------定義部份 頭---------------------------------------------------------------------- 

Err_Message = 1 '處理方式:1=提示信息,2=轉向頁面,3=先提示再轉向 
Err_Web = "Err.Asp" '出錯時轉向的頁面 
Query_Badword="'‖and‖select‖update‖chr‖delete‖%20from‖;‖insert‖mid‖master.‖set‖chr(37)‖=" 
'在這部份定義get非法參數,使用"‖"號間隔 
Form_Badword="'‖%‖&‖*‖#‖@‖=‖select‖and‖set‖delete" '在這部份定義post非法參數,使用"‖"號間隔 

'------定義部份 尾----------------------------------------------------------------------- 

On Error Resume Next 
'----- 對 get query 值 的過濾. 
if request.QueryString<>"" then 
Chk_badword=split(Query_Badword,"‖") 
FOR EACH Query_form_name IN Request.QueryString 
for i=0 to ubound(Chk_badword) 
If Instr(LCase(request.QueryString(Query_form_name)),Chk_badword(i))<>0 Then 
Select Case Err_Message 
Case "1" 
Response.Write "<Script Language=JavaScript>alert('傳參錯誤!參數 "&form_name&" 的值中包含非法字符串!\n\n請不要在參數中出現:and update delete ; insert mid master 等非法字符!');window.close();</Script>" 
Case "2" 
Response.Write "<Script Language=JavaScript>location.href='"&Err_Web&"'</Script>" 
Case "3" 
Response.Write "<Script Language=JavaScript>alert('傳參錯誤!參數 "&form_name&"的值中包含非法字符串!\n\n請不要在參數中出現:and update delete ; insert mid master 等非法字符!');location.href='"&Err_Web&"';</Script>" 
End Select 
Response.End 
End If 
NEXT 
NEXT 
End if 

'-----對 post 表 單值的過濾. 
if request.form<>"" then 
Chk_badword=split(Form_Badword,"‖") 
FOR EACH form_name IN Request.Form 
for i=0 to ubound(Chk_badword) 
If Instr(LCase(request.form(form_name)),Chk_badword(i))<>0 Then 
Select Case Err_Message 
Case "1" 
Response.Write "<Script Language=JavaScript>alert('出錯了!表單 "&form_name&" 的值中包含非法字符串!\n\n請不要在表單中出現: % & * # ( ) 等非法字符!');window.close();</Script>" 
Case "2" 
Response.Write "<Script Language=JavaScript>location.href='"&Err_Web&"'</Script>" 
Case "3" 
Response.Write "<Script Language=JavaScript>alert('出錯了!參數 "&form_name&"的值中包含非法字符串!\n\n請不要在表單中出現: % & * # ( ) 等非法字符!');location.href='"&Err_Web&"';</Script>" 
End Select 
Response.End 
End If 
NEXT 
NEXT 
end if

以上是另一種版本。

<%
Dim GetFlag Rem(提交方式)
Dim ErrorSql Rem(非法字符) 
Dim RequestKey Rem(提交數據)
Dim ForI Rem(循環標記)
ErrorSql = "'~;~and~(~)~exec~update~count~*~%~chr~mid~master~truncate~char~declare" Rem(每個敏感字符或者詞語請使用半角 "~" 格開)
ErrorSql = split(ErrorSql,"~")
If Request.ServerVariables("REQUEST_METHOD")="GET" Then
GetFlag=True
Else
GetFlag=False
End If
If GetFlag Then
For Each RequestKey In Request.QueryString
For ForI=0 To Ubound(ErrorSql)
If Instr(LCase(Request.QueryString(RequestKey)),ErrorSql(ForI))<>0 Then
response.write "<script>alert(""警告:\n請不要做任何嘗試"");location.href=""index.asp"";</script>"
Response.End
End If
Next
Next 
Else
For Each RequestKey In Request.Form
For ForI=0 To Ubound(ErrorSql)
If Instr(LCase(Request.Form(RequestKey)),ErrorSql(ForI))<>0 Then
response.write "<script>alert(""警告:\n請不要做任何嘗試"");location.href=""index.asp"";</script>"
Response.End
End If
Next
Next
End If
%>

1、將上述代碼放入conn文件中即可!

2、將上述代碼保存為safe.asp,在conn文件中引入也可!





上一條: xss利用和檢測平臺 防XSS跨網站攻擊
下一條: 網站被黑還要交罰款?網絡安全法:你們可能已經違法了
相關熱門資訊  News
一二三客戶案例

  123 NETWORK

合作共贏,助您打開網絡營銷財富之間!

www.www69avpz.com

合作對接電話:0731-88571521

聯系方式

地址:湖南省長沙市天心區韶山南路248號南園503室

電話:13637482004    0731-88571521

網址:http://www.www69avpz.com/

郵箱:123@123007.com

在線QQ咨詢

需求咨詢

價格咨詢

微信咨詢

掃一掃進移動端

版權所有 © 長沙一二三網絡技術有限公司    統一社會信用代碼:91430103MACCH7984M    網站ICP備案號:湘ICP備2023006748號     湘公網安備 43010302001803號        
主站蜘蛛池模板: 四虎影视884aa·com| 波多野结衣中文一区二区免费 | 黑人玩弄漂亮少妇高潮大叫| 蜜桃成熟时33d在线| 精品国产精品久久一区免费式| 男人桶女人j的视频在线观看| 欧美性猛交xxxx免费看| 日韩在线观看视频网站| 成在线人免费无码高潮喷水| 天天干天天射天天操| 国产精品亚洲αv天堂无码| 国产国产成人精品久久| 再来一次好吗动漫免费观看| 亚洲精品无码mv在线观看网站| 亚洲人成在线观看| 中文字幕在线播放视频| 91手机视频在线| 韩国福利视频一区二区| 男女爽爽无遮挡午夜动态图| 欧美一卡2卡3卡四卡海外精品| 无码国内精品人妻少妇蜜桃视频| 大陆熟妇丰满多毛XXXX| 国产成社区在线视频观看| 另类国产ts人妖合集| 亚洲成A人片在线观看无码| 久久一日本道色综合久久m| 99久久国产宗和精品1上映| 韩国毛片在线观看| 特黄特黄aaaa级毛片免费看| 日韩加勒比一本无码精品| 天天看天天爽天天摸天天添| 国产又污又爽又色的网站| 亚洲视频一区二区三区四区| 久久久久波多野结衣高潮| 99re国产精品| 精品成在人线av无码免费看| 欧美va天堂va视频va在线| 天堂а√在线地址| 国产91久久久久久久免费| 亚洲av无码欧洲av无码网站| juy031白木优子中文字幕|