首页 | 心情日记 | 建站心得 | 编程技术 | 大盘分析 | 股市信息 | 学习园地 | 电脑技巧 | 物流外贸 | 另类其它 | 站长推荐 | 给我留言 | 相册

用户登陆
用户:
密码:
 
不保存保存一天
保存一月保存一年

站点日历
73 2024 - 11 48
     12
3456789
10111213141516
17181920212223
24252627282930


站点统计

最新评论

日志搜索

 标题   内容


L-BLOG的跨站漏洞介绍及修复方法 用三款出名的注入软件检测自己的两个网站
未知 防SQL注入代码的巧妙使用   [ 日期:2010-01-04 16:50:53 ]   [ 来自:本站原创 ]

海外邮件中继,海外退信中继,美国高速VPS,不限流量VPN,邮局维护和管理,邮件网关,EMOS邮件中继,POSTFIX邮件中继,Winwebmail邮件中继,Winmail邮件中继,DBMail邮件中继,JDMail邮件中继,Exchange邮件中继,MDaemon邮件中继 淘宝店:http://shantan.taobao.com 云邮科技官网:www.yunrelay.com

【字体设置:
防SQL注入代码应用恰当的话,可以达到事半功倍的效果,但是,如果你把代码放到了不合适的位置或不经过合适的设置,不仅达不到防注入的效果, 还有可能连自己发表文章,修改文章都受到限制.

兄弟最近就进行了测试,发现如果把代码包含到连接数据库的文件中,那么当我发布或修改某些含有代码的程序的时候,就会提示错误,说我在SQL注入,呵呵,这样防注把自己也拒绝了.

如果把它放到程序的最末端,比如程序最后的版权部分,又达不到防注入的效果,虽然会提示错误, 但是是程序执行完了以后才提示SQL注入的,那样就没有用了.有没有两全其美的方法呢?答案是可以肯定的,下面就教大家如何利用防注入代码:

首先,基本的程序都是管理员登陆以后才可以发布和修改内容的,或者登陆后台的,那么,我们就来个验证,如果,管理员登陆了程序,就不进行防注入程序,否则就进行检测.

下面是应用的实例,大家可以参考一下,采用类似的写法即可:

<%
If memName="" or memName<>"admin" then
'在这里用IF语句进行检测,如果用户名为空(即没有登陆)或不为"admin"(即不是管理员)就启用SQL防注入程序,建议大家采用SESSION检测用户是否登陆再进行验证,这样的效果会准确一点.
Response.Buffer = True   '缓存页面
If Request.QueryString <> ""   Then StopInjection(Request.QueryString)
'防GET方式
If Request.Form <> ""   Then StopInjection(Request.Form)
'防POST方式
If Request.Cookies <> ""   Then StopInjection(Request.Cookies) 
'防COOKIES
'采用正则表达式函数
Function StopInjection(Values)
Dim regEx
Set regEx = New RegExp
     regEx.IgnoreCase = True
     regEx.Global = True
     regEx.Pattern = "'|;|#|([\s\b+()]+(select|update|insert|delete|declare|@|exec|dbcc|alter|drop|create|backup|if|else|end|and|or|add|set|open|close|use|begin|retun|as|go|exists)[\s\b+]*)"
     Dim sItem, sValue
     For Each sItem In Values
         sValue = Values(sItem)
         If regEx.Test(sValue) Then
             Response.redirect"errorsql.asp"
             Response.End
         End If
     Next
     Set regEx = Nothing
End function
'最后面要加上End if语句很上面的IF对应,否则会出错的!
End if
%>

好了,完整的防注入程序就搞好了!

暂时没有评论
   发表评论 - 不要忘了输入验证码哦!
作者: 用户:  密码:  我要注册 验证码: 
为防止广告注册机程序,验证码不会自动显示,请点击此处显示或者(刷新)验证码!
评论:

禁止表情
禁止UBB
禁止图片
识别链接
识别关键字
确定发布?
最多可以输入200个字,目前你已经输入了0个字;你今日还可以发表10条评论!
 
   

CopyRight © 2008-2010 广东金融学院030904班 All Rights Reserved
Powered by www.030904.com