四,从防范入手避免SQL注入漏洞的发生:
SQL注入漏洞存在于大部分由ASP动态语言建立的站点中,当然部分PHP语言建立的站点也存在SQL注入漏洞,那么我们又该如何防范呢?SQL注入漏洞可谓是“千里之堤,溃于蚁穴”,这种漏洞在网上极为普遍,通常是由于程序员对注入不了解,或者程序过滤不严格,或者某个参数忘记检查导致。那么我们该如何做来弥补此漏洞呢?
(1)函数法:
在这里我给大家一个函数,我们用这个函数代替ASP中的Request函数,这样就可以对一切的SQL注入“Say NO”了,函数如下。
Function SafeRequest(ParaName,ParaType)
'--- 传入参数 ---
'ParaName:参数名称-字符型
'ParaType:参数类型-数字型(1表示以上参数是数字,0表示以上参数为字符)
Dim ParaValue
ParaValue=Request(ParaName)
If ParaType=1 then
If not isNumeric(ParaValue) then
Response.write "参数" & ParaName & "必须为数字型!"
Response.end
End if
Else
ParaValue=replace(ParaValue,"'","''")
End if
SafeRequest=ParaValue
End function
(2)过滤法:
我们可以在自己的网站IIS或APACHE中过滤或转换用户提交数据中的HTML代码来实现弥补此漏洞的目的。
(3)限制用户提交数据的长度:
由于SQL注入漏洞是由入侵者在合法数据之后添加额外信息提交该数据而检测出来的,所以我们还可以通过“限制用户提交数据的长度”来达到入侵者猜解的防范目的。
(4)不要轻易访问别人给你的链接:
很多时候SQL注入是从内到外发挥作用的,作为站点管理者来说更应该注意服务器自身的安全。另外还需要禁止浏览器运行JavaScript和ActiveX代码。
(5)如果使用的是网上现成的建站程序,那么我们一定要勤打最新补丁,安装最新版本。
(6)用小工具封堵SQL注入漏洞:
我们也可以通过安全工具来防范SQL注入漏洞与攻击。
SQL通用防注入系统小档案:
软件版本:3.0
软件大小:12 KB
软件性质:免费软件
应用平台:Windows 9X/NT/2000/XP
下载地址:http://www.mydown.com/code/265/265010.html