asp 防止SQL注入代码

作者:无名 - ASP基础 -
把下面代码复制到每个文件头部就可以防止SQL注入了,写程序安全最重要 :)

<%
Dim Fy_Url,Fy_a,Fy_x,Fy_Cs(),Fy_Cl,Fy_Ts,Fy_Zx
'---定义部份 头------
Fy_Cl = 1    '处理方式:1=提示信息,2=转向页面,3=先提示再转向
Fy_Zx = "Error.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))),"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(' 出现错误!参数 "&Fy_Cs(Fy_x)&" 的值中包含非法字符串!\n\n 请不要在参数中出现:;,and,select,update,insert,delete,chr 等非法字符!\n\n你想干吗!不要做无聊的事情!谢谢!');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
%>

该篇内容就是由IT人知识库(原文链接:http://www.itpeo.net/12728/370641.html)小编为各位整理





asp 多字段模糊搜索的函数

比较简单直接的sql语句 Recordset1.Source = "SELECT * FROM 表 WHERE 字段... ...

怎么巧用缓存提高asp程序的性能

<!--为了提高Asp程序的性能,人们常常将经常使用的数据缓存在 Application, 但是你修改了数据库后怎... ...

ASP 写的自动生成SELECT 表单的函数

对于ASP高手当然没什么用了,但是对于刚入门的初学者和美工就有些用处了。Function selectdo(a,d,b,... ...

统计在线人数 dxy

<%sessid=session.sessionidtimeout=5 '分钟dim conn,connstr,d... ...

ASP制作在线人数统计实例

我们先新建一个ACCESS数据库 内容为 表名:zai 字段为 1.ip 2.time 建立一个文件为index.a... ...

怎么限制同一用户名同时登陆

这个问题我的办法是,用户有个活跃时间间隔问题。超过这个活跃时间间隔的则可以认为是离线,后者可以登陆 ,如果无后者登陆,但... ...

获取图片宽度和高度的类,支持JPG,GIF,PNG,BMP

<% Class ImgWHInfo ''获取图片宽度和高度的类,支持JPG,GIF,PNG,BMP Dim AS... ...

使用模板实现ASP代码与页面分离

每个进行过较大型的ASP-Web应用程序设计的开发人员大概都有如下的经历:ASP代码与页面HTML混淆难分,业务逻辑与显... ...

使用类,实现模块化

写在前面的话:   所有写程序的人都知道,当你逐渐对您要实现的功能展开的时候,很大的时候,第一天写的东西第二天就忘了写到... ...

ASP充分利用Err.Description

我们一般在调试程序的时候,有些操作会莫名地失败,又没有错误消息提示,特别是在执行数据库操作的时候,明明执行过去了,可就是... ...

asp实现无限级分类的方法js版

MenuArr=new Array()MenuLenArr=new Array()SubMenuArr=new Arra... ...

多附件上传组件演示

table{ FILTER: progid:DXImageTransform.Microsoft.Shadow(... ...

无组件生成缩略图

网上有不少生成缩略图的ASP组件。若你的虚拟空间不支持注册新组件,可能会感觉自己的网站失色不少。心晴不才,结合网上资源写... ...

怎么远程调用ACCESS数据库[要求加精!!]

使用了TCP/IP,ADO及XML(需要安装Microsoft XML 4.0。)。分服务器和客户端两部分,服务器可以多... ...

替换数据库内容

<%'####################################'替换数据库内容 lamking 2... ...

E-mail表单递交

<HTML><HEAD><META http-equiv='Content-Type' c... ...

让ASP搭配MYSQL

让ASP搭配MYSQL 所需要工具    mysql-4.1.11-win32  ... ...

生成静态页大全[ASP/PHP/ASPX]

ASP生成静态网页的方法   随着网站访问量的加大,每次从数据库读取都是以效率作为代价的,很多用ACCESS作数据库的更... ...

显示在线人数

<%NowUrl=request.servervariables("HTTP_REFERER")UserName ... ...

ASP操作Excel技术总结

目录  一、 环境配置  二、 ASP对Excel的基本操作  三、&... ...