设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1608|回复: 5
打印 上一主题 下一主题

[其它] 2016第一问:如何防止sql注入

[复制链接]
跳转到指定楼层
1#
发表于 2016-1-1 09:25:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家新年好!
如果过滤字符,应该滤掉那些?有其他方法吗?
谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2016-1-1 20:03:06 | 只看该作者
一般要 过滤 where 条件 里有 insert update 等字眼
但具体的防范会非常复杂。因为攻击也会千变万化,但同时又不能屏蔽正常的更新 新增操作
3#
 楼主| 发表于 2016-1-2 12:44:41 | 只看该作者
tmtony 发表于 2016-1-1 20:03
一般要 过滤 where 条件 里有 insert update 等字眼
但具体的防范会非常复杂。因为攻击也会千变万化,但同 ...

o,这么复杂啊

谢谢站长指点
4#
发表于 2016-1-2 13:17:55 | 只看该作者
不太清楚你的使用环境。
一般防SQL注入,在asp或php中是特别重视的
以下是一段asp防SQL注入,希望能对你有所启发:
dim sql_injdata,SQL_inj,SQL_Get,SQL_Data,Sql_Post

SQL_injdata = "'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare"
SQL_inj = split(SQL_Injdata,"|")
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
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
5#
 楼主| 发表于 2016-1-3 13:48:46 | 只看该作者
ganlinlao 发表于 2016-1-2 13:17
不太清楚你的使用环境。
一般防SQL注入,在asp或php中是特别重视的
以下是一段asp防SQL注入,希望能对你 ...

谢谢
6#
 楼主| 发表于 2016-1-3 13:52:38 | 只看该作者
我在构思3层cs.搜过一些,希望有个较好的解决方法.
曾想用固定字符替换掉内容中的敏感字串,感觉也不是好办法.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-28 00:17 , Processed in 0.109644 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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