防ASP注入终极防范
更新时间:2011年11月03日 00:20:22 作者:
其实SQL注入漏洞并不可怕,知道原理 + 耐心仔细,就可以彻底防范
下面给出4个函数,足够你抵挡一切SQL注入漏洞!读懂代码,你就能融会贯通。
注意要对所有的request对象进行过滤:包括 request.cookie, request.ServerVariables 等等容易被忽视的对象:
程序代码
function killn(byval s1) '过滤数值型参数
if not isnumeric(s1) then
killn=0
else
if s1〈0 or s1〉2147483647 then
killn=0
else
killn=clng(s1)
end if
end if
end function
function killc(byval s1) 过滤货币型参数
if not isnumeric(s1) then
killc=0
else
killc=formatnumber(s1,2,-1,0,0)
end if
end function
function killw(byval s1) '过滤字符型参数
if len(s1)=0 then
killw=""
else
killw=trim(replace(s1,"'",""))
end if
end function
function killbad(byval s1) 过滤所有危险字符,包括跨站脚本
If len(s1) = 0 then
killbad=""
else
killbad = trim(replace(replace(replace(replace(replace(replace(replace(replace(s1,Chr(10), "〈br〉"), Chr(34), """), "〉", ">"), "〈", "<"), "&", "&"),chr(39),"'"),chr(32)," "),chr(13),""))
end if
end function
注意要对所有的request对象进行过滤:包括 request.cookie, request.ServerVariables 等等容易被忽视的对象:
程序代码
复制代码 代码如下:
function killn(byval s1) '过滤数值型参数
if not isnumeric(s1) then
killn=0
else
if s1〈0 or s1〉2147483647 then
killn=0
else
killn=clng(s1)
end if
end if
end function
function killc(byval s1) 过滤货币型参数
if not isnumeric(s1) then
killc=0
else
killc=formatnumber(s1,2,-1,0,0)
end if
end function
function killw(byval s1) '过滤字符型参数
if len(s1)=0 then
killw=""
else
killw=trim(replace(s1,"'",""))
end if
end function
function killbad(byval s1) 过滤所有危险字符,包括跨站脚本
If len(s1) = 0 then
killbad=""
else
killbad = trim(replace(replace(replace(replace(replace(replace(replace(replace(s1,Chr(10), "〈br〉"), Chr(34), """), "〉", ">"), "〈", "<"), "&", "&"),chr(39),"'"),chr(32)," "),chr(13),""))
end if
end function
相关文章
ASP 支持中文的len(),left(),right()的函数代码
在用ASP处理文字时。系统自带的字符串长度检测函数有时候也不是很好用。2010-05-05ASP:ActiveX不能创建Scripting.FileSystemObject对象解决办法
关于ActiveX不能创建Scripting.FileSystemObject对象的类似问题,大体上解决办法都是类似的,主要是思想要清晰:首先考虑组件注册问题,其次是组件权限问题,如果服务器配置没有问题的话,那就仔细检查一下你的程序源码吧2011-11-11
最新评论