asp 防止SQL注入代碼
更新時(shí)間:2006年06月28日 00:00:00 作者:
把下面代碼復(fù)制到每個(gè)文件頭部就可以防止SQL注入了,寫(xiě)程序安全最重要?。海?
<%
Dim Fy_Url,Fy_a,Fy_x,Fy_Cs(),Fy_Cl,Fy_Ts,Fy_Zx
'---定義部份 頭------
Fy_Cl = 1 '處理方式:1=提示信息,2=轉(zhuǎn)向頁(yè)面,3=先提示再轉(zhuǎn)向
Fy_Zx = "Error.Asp" '出錯(cuò)時(shí)轉(zhuǎn)向的頁(yè)面
'---定義部份 尾------
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))),"and")<>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(' 出現(xiàn)錯(cuò)誤!參數(shù) "&Fy_Cs(Fy_x)&" 的值中包含非法字符串!\n\n 請(qǐng)不要在參數(shù)中出現(xiàn):;,and,select,update,insert,delete,chr 等非法字符!\n\n你想干嗎!不要做無(wú)聊的事情!謝謝!');window.close();</Script>"
Case "2"
Response.Write "<Script Language=JavaScript>location.href='"&Fy_Zx&"'</Script>"
Case "3"
Response.Write "<Script Language=JavaScript>alert(' 出現(xiàn)錯(cuò)誤!參數(shù) "&Fy_Cs(Fy_x)&"的值中包含非法字符串!\n\n 請(qǐng)不要在參數(shù)中出現(xiàn):;,and,select,update,insert,delete,chr 等非法字符!\n\n你想干嗎!不要做無(wú)聊的事情!謝謝!');location.href='"&Fy_Zx&"';</Script>"
End Select
Response.End
End If
End If
Next
%>
<%
Dim Fy_Url,Fy_a,Fy_x,Fy_Cs(),Fy_Cl,Fy_Ts,Fy_Zx
'---定義部份 頭------
Fy_Cl = 1 '處理方式:1=提示信息,2=轉(zhuǎn)向頁(yè)面,3=先提示再轉(zhuǎn)向
Fy_Zx = "Error.Asp" '出錯(cuò)時(shí)轉(zhuǎn)向的頁(yè)面
'---定義部份 尾------
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))),"and")<>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(' 出現(xiàn)錯(cuò)誤!參數(shù) "&Fy_Cs(Fy_x)&" 的值中包含非法字符串!\n\n 請(qǐng)不要在參數(shù)中出現(xiàn):;,and,select,update,insert,delete,chr 等非法字符!\n\n你想干嗎!不要做無(wú)聊的事情!謝謝!');window.close();</Script>"
Case "2"
Response.Write "<Script Language=JavaScript>location.href='"&Fy_Zx&"'</Script>"
Case "3"
Response.Write "<Script Language=JavaScript>alert(' 出現(xiàn)錯(cuò)誤!參數(shù) "&Fy_Cs(Fy_x)&"的值中包含非法字符串!\n\n 請(qǐng)不要在參數(shù)中出現(xiàn):;,and,select,update,insert,delete,chr 等非法字符!\n\n你想干嗎!不要做無(wú)聊的事情!謝謝!');location.href='"&Fy_Zx&"';</Script>"
End Select
Response.End
End If
End If
Next
%>
相關(guān)文章
ASP編程入門(mén)進(jìn)階(十五):組件Counters
ASP編程入門(mén)進(jìn)階(十五):組件Counters...2007-01-01asp下如何在Access數(shù)據(jù)庫(kù)中立即得到所插入記錄的自動(dòng)編號(hào)?
asp下如何在Access數(shù)據(jù)庫(kù)中立即得到所插入記錄的自動(dòng)編號(hào)?...2007-04-04如何將長(zhǎng)的標(biāo)題用省略號(hào)收尾
如何將長(zhǎng)的標(biāo)題用省略號(hào)收尾...2007-02-02asp rs.open sql,conn,3,1中3,1代表什么?
這篇文章主要介紹了ASP中conn,1,1和 conn,2,3 conn,3,2等的含義需要的朋友可以參考下2007-07-07asp實(shí)現(xiàn)防止站外提交內(nèi)容的兩個(gè)方法
asp實(shí)現(xiàn)防止站外提交內(nèi)容的兩個(gè)方法...2007-01-01為什么 Windows2003 的 IIS6.0 不能上傳超過(guò) 200K 的文件?
為什么 Windows2003 的 IIS6.0 不能上傳超過(guò) 200K 的文件?...2006-12-12- aspjpeg是一款非常強(qiáng)大的圖片處理組件,純英文版本。不過(guò)早已經(jīng)有免費(fèi)版和破解版,但是對(duì)其進(jìn)行詳細(xì)與深入介紹的文章卻是不多,即使有也只牽涉到圖片縮略和圖片水印??赡苁且?yàn)榧冇⑽牡木壒?/div> 2006-06-06
最新評(píng)論