<% 
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文件中引入也可!

转载于:https://www.cnblogs.com/milantgh/p/4577029.html

防SQL注入代码(ASP版)相关推荐

  1. 防sql注入 php代码,完美的php防sql注入代码

    一款比较完美的php防sql注入代码,很多初学者都有被sql注入的经验吧,今天我们来分享你一款比较完整的sql防注入代码,有需要的同学可以参考一下: /************************ ...

  2. PHP防SQL注入代码,PHP 预防CSRF、XSS、SQL注入攻击

    1.服务端进行CSRF防御 服务端的CSRF方式方法很多样,但总的思想都是一致的,就是在客户端页面增加伪随机数. (1).Cookie Hashing(所有表单都包含同一个伪随机值): 这可能是最简单 ...

  3. 360 php SQL注入,从360提供的PHP防SQL注入代码改成的一个类

    前些天做的一个网站在百度搜索时竟然提示"安全联盟提醒您:该网站存在安全风险,请谨慎访问!",于是就开始拼命的找解决方案,最终从SQL注入和HTTP跨站两个方面解决了问题,在这里记录 ...

  4. php 完美防sql注入,PHP 完美的防XSS 防SQL注入的代码

    PHP "完美"的防XSS 防SQL注入的代码 function gjj($str) { $farr = array( "/s+/", "/]*?)& ...

  5. PHP之SQL防注入代码,PHP防XSS 防SQL注入的代码

    360提示XSS漏洞?这个XSS漏洞很不好修复.....如果是PHP程序的话,可以用下面的代码来过滤... PHP防XSS 防SQL注入的代码 class protection{public stat ...

  6. php防sql注入什么函数,php防止sql注入漏洞过滤函数的代码

    php防止sql注入漏洞过滤函数的代码 php的整站防sql注入程序,在公共文件中require_once本文件即可,感兴趣的朋友可以参考下. 复制代码 代码如下: //PHP整站防注入程序,需要在公 ...

  7. .NET防SQL注入方法

      SQL语句 利用SqlCommand传参数的方法: string strSQL="SELECT * FROM [user] WHERE user_id=@id"; SqlCom ...

  8. C# 检查字符串,防SQL注入攻击(转载)

    这些天,CSDN上讨论SQL注入攻击似乎是如火如荼啊...我也来参合一下..如下,CheckParams函数,接收参数任意,如参数中有字符串,则对字符串进行检查,如参数中有集合(如Array之类,总之 ...

  9. 防SQL注入(转载)

    这些天,CSDN上讨论SQL注入攻击似乎是如火如荼啊...我也来参合一下..如下,CheckParams函数,接收参数任意,如参数中有字符 串,则对字符串进行检查,如参数中有集合(如Array之类,总 ...

最新文章

  1. clinical significance临床显著性
  2. RNA-seq:【FastQC】
  3. html校验长度为9位,2018记一次前端面试笔试考题一
  4. Java设计模式——工厂模式
  5. php中add函数,php中addslashes()和addclashes()函数的区别分析
  6. linux wifi 配置 编程,linux 无线手动配置
  7. nginx反向代理和shiro权限校验产生的404问题
  8. Java中字符串连接符(+)和append的区别
  9. 蚂蚁暑期实习前端面试
  10. 洗车香波行业调研报告 - 市场现状分析与发展前景预测
  11. 热门好用的邮编查询API
  12. Vue进阶-异步动态加载组件
  13. 【整理】基因编辑最新进展
  14. 最新!!! iOS app添加微信授权登录——Qt for IOS
  15. 为啥将phpstudy打开,却访问不了rips
  16. hadoop无法自动生成tmp文件
  17. 中学生学习心理:学习心理
  18. python摄像头人脸识别小程序 开门,OpenCV3-Python人脸识别方法—基于摄像头
  19. 如何使用闲置的云服务器搭建一个属于自己的私人云网盘(可道云kodbox)
  20. 王峰十问Nervos联合创始人王宁宁:缘何“中国最懂以太坊的人”要走中国公链的自主创新之路?...

热门文章

  1. python数值计算
  2. 数据预处理 | 机器学习之特征工程
  3. php 开启phalocn 扩展_php7安装3.4版本的phalcon扩展
  4. case when 效率高不高_扬州效率高的拍摄抖音短视频平台
  5. Spring Boot 自定义属性值
  6. 最稳妥的服务器阵列方案:RAID5+热备盘
  7. python多进程存储数据_python – 多进程还是多线程? – 并行化数百万次迭代的简单计算并将结果存储在单个数据结构中...
  8. python常用的绘图库_Python3绘图库Matplotlib(01)
  9. Ecipse快捷键的使用
  10. ajax兼容低版本浏览器