两个防止SQL注入的ASP函数
来源:asp之家 时间:2005-08-10 14:05:00
做为站长学习如何防止SQL注入是非常必须的,因为一旦网站被注入小到挂马,大到破坏系统程序,可以说对网站的破坏是非常大的,对于asp编写的程序,我们应该考虑到表单提交的安全,对于能暴露或破坏数据库特殊字符应当全部过滤,已及禁止从站外提交表单,对于形如xx.asp?id=的形式来传递参数的页面,我们应该对ID参数进行数字验证,asp可以使用IsNumeric(expression)函数来验证是否为数字,非数字则禁止操作,下面是两个收集来的过滤函数。
’==========================
’过滤提交表单中的SQL
’==========================
function ForSqlForm()
dim fqys,errc,i,items
dim nothis(18)
nothis(0)="net user"
nothis(1)="xp_cmdshell"
nothis(2)="/add"
nothis(3)="exec%20master.dbo.xp_cmdshell"
nothis(4)="net localgroup administrators"
nothis(5)="select"
nothis(6)="count"
nothis(7)="asc"
nothis(8)="char"
nothis(9)="mid"
nothis(10)="’"
nothis(11)=":"
nothis(12)=""""
nothis(13)="insert"
nothis(14)="delete"
nothis(15)="drop"
nothis(16)="truncate"
nothis(17)="from"
nothis(18)="%"
’nothis(19)="@"
errc=false
for i= 0 to ubound(nothis)
for each items in request.Form
if instr(request.Form(items),nothis(i))<>0 then
response.write("<div>")
response.write("你所填写的信息:" & server.HTMLEncode(request.Form(items))
& "<br>含非法字符:" & nothis(i))
response.write("</div>")
response.write("对不起,你所填写的信息含非法字符!
<a href=""#"" onclick=""history.back()"">返回</a>")
response.End()
end if
next
next
end function
’==========================
’过滤查询中的SQL
’==========================
function ForSqlInjection()
dim fqys,errc,i
dim nothis(19)
fqys = request.ServerVariables("QUERY_STRING")
nothis(0)="net user"
nothis(1)="xp_cmdshell"
nothis(2)="/add"
nothis(3)="exec%20master.dbo.xp_cmdshell"
nothis(4)="net localgroup administrators"
nothis(5)="select"
nothis(6)="count"
nothis(7)="asc"
nothis(8)="char"
nothis(9)="mid"
nothis(10)="’"
nothis(11)=":"
nothis(12)=""""
nothis(13)="insert"
nothis(14)="delete"
nothis(15)="drop"
nothis(16)="truncate"
nothis(17)="from"
nothis(18)="%"
nothis(19)="@"
errc=false
for i= 0 to ubound(nothis)
if instr(FQYs,nothis(i))<>0 then
errc=true
end if
next
if errc then
response.write "查询信息含非法字符!<a href=""#"" onclick=""history.back()"">返回</a>"
response.end
end if
end function
标签:SQL注入,ASP


猜你喜欢
如何让网站打开更快
2011-03-31 17:03:00
Baidu搜索排名的基本原则
2008-07-09 18:41:00
国外空间出现乱码的几种解决办法
2008-11-01 03:47:00
确保服务器稳定七大注意事项
2009-06-18 10:17:00
科汛V6.5:加强推广积分互动 增加后台广告
2009-12-02 14:57:00

中关村寻宝:中国式管理书籍为何被放在小角落?
2009-10-23 09:44:00
Windows下的Apache+PHP+MySql+虚拟主机设置全功略
2007-08-13 14:48:00
谷歌暗藏实时搜索:修改URL参数即可实现
2009-09-14 19:29:00

Godaddy主机如何绑定域名到子文件夹新建网站的说明 Godaddy
2010-04-21 12:48:00

小站长推广网站葵花宝典
2009-06-16 15:34:00
DNS的名称记录
2010-01-28 19:26:00
GoDaddy主机的有关独立IP问题 Godaddy
2010-04-10 12:46:00
魔兽背后的利益之争:暴雪等或踢开中国伙伴单干
2009-10-14 16:29:00
link和domain在不同的搜索引擎含义不相同
2008-12-02 11:01:00
英文网站建设与中文网站建设区别之设计篇
2008-12-12 12:48:00
关于论坛Google AdSense的六点分析
2009-02-27 12:44:00
一五一十谈IIS安全机制
2007-10-10 14:08:00
DedeCms 5.7实现代码高亮
2011-10-12 21:04:41

Mashup!让搜索引擎显示缩略图
2007-10-29 12:01:00

内网建Web服务器的安全问题
2007-03-28 17:02:00