设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 74|回复: 5
打印 上一主题 下一主题

请教关于防SQL注入的问题?谢谢

[复制链接]
跳转到指定楼层
1#
发表于 2010-1-14 08:33:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在conn.asp文件的最上边加入了下面的防sql注入代码:
<%
dim sql_injdata
SQL_injdata = "’|""|{|}|[|]|\|:|;|<|>|?|,|.|`|~|!|@|$|%|^|(|)|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare|or"
SQL_inj = split(SQL_Injdata,"|")
'防止Get方法注入
If Request.QueryString<>"" Then
For Each SQL_Get In Request.QueryString
For SQL_Data=0 To Ubound(SQL_inj)
if instr(Request.QueryString(SQL_Get),Sql_Inj(Sql_DATA))>0 Then
Response.Write "<Script Language=javascript>alert(’请不要非法访问!’);history.back(-1)</Script>"
Response.end
end if
next
Next
End If
'防止Post方法注入
If Request.Form<>"" Then
For Each Sql_Post In Request.Form
For SQL_Data=0 To Ubound(SQL_inj)
if instr(Request.Form(Sql_Post),Sql_Inj(Sql_DATA))>0 Then
Response.Write "<Script Language=javascript>alert(’请不要非法访问’);history.back(-1)</Script>"
Response.end
end if
next
next
end if
%>
加完以后就不能sql注入了。
但是我在后台增加一信息时例如:新闻什么的。也不能添加了。
这个问题怎么解决啊?
即防了SQL注入,但还不影响自己添加内容。
请版主和各位高手们帮一忙。
谢谢。
2#
发表于 2010-1-14 08:33:21 | 只看该作者
为什么没有人回答我啊?
再请教。谢谢。
回复 支持 反对

使用道具 举报

3#
发表于 2010-1-14 08:33:25 | 只看该作者
你的代码屏蔽了太多的字。
在你添加新闻的时候,你肯定会用到其中的字符,如逗号,@等,同样也被认为是注入
回复 支持 反对

使用道具 举报

4#
发表于 2010-1-14 08:33:29 | 只看该作者
这样啊。
这些里面应该大概留哪些是比较合适的呢?
回复 支持 反对

使用道具 举报

5#
发表于 2010-2-21 18:05:08 | 只看该作者
哈哈,这么多的人都回了,我敢不回吗?赶快回一个,很好的,我喜欢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-19 06:43 , Processed in 0.115764 second(s), 8 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表