请教asp防网址被注入问题

mobesen 2010-07-26 10:07:49
网址:HTTP://www.163.com/news.asp?id=xx;and user>0要怎么样判断这个网址才能使这个网址加了" ;and user>0
"是无效并提示非法操作?

action是上个页面传的值,从获取action的值进行添加,更新等操作!
action=request.QueryString("action")
if InStr(action,"'")>0 thenresponse.write"<script>alert(""ERROR!"");window.close();</script>"
response.end
end if

其中:if InStr(action,"'")>0 then 这句是什么意思?是判断action后有没有加","的意思吗?
这个数>0是什么意思,为什么取0这个值?
谢谢
...全文
59 点赞 收藏 14
写回复
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
mobesen 2010-07-27
我还是不明白,为什么要加个单引号'呢?这个判断是防着什么情况的发生?
网址:HTTP://www.163.com/news.asp?id=xx;and user>0要怎么样判断这个网址才能使这个网址加了" ;and user>0
"是无效并提示非法操作?
回复
Dogfish 2010-07-27
类型控制严禁点。
回复
mobesen 2010-07-27
加'主要的作用是什么?
是不是像我说的,为了防止在网址后添加'和相关语句?
回复
ftiger 2010-07-27
个人喜欢做个公共fuction 将应当是数字的字符串参数全转成数字,不是数字的就转成0
另一个方案是数字型的参数传入sql时也加'
回复
mobesen 2010-07-27
是没有错,是判断单引号“'”,写错了!
那句的主要有什么作用?为什么要去判断?
回复
beyond_me21 2010-07-27
单引号是注入最基本的符号,所以要过滤掉单引号。单引号在sql注入中起很大的作用,楼主可以去找找相关sql注入的知识,你就明白很多东西了,这是基础,光这样问是解决不了问题的
回复
mobesen 2010-07-27
嗯,这个方法不错!
回复
dahaidao 2010-07-27
最根本的方法,就是生成静态页,请求的时候只有静态页。

手工生成。
回复
mobesen 2010-07-27
谢谢csover8!
falizixun2,是不是那句判断的是如果在action后面有加'的提示出错,防止被增加是吧?
回复
csover8 2010-07-27
isnumeric(Request("id"))

判断传过来的值是否是数字.
回复
kaifadi 2010-07-27
单引号是存不了数据库,你自己可以测试下,如果没有进行处理,页面上就会抱错误!
回复
number123456 2010-07-27
如果是单纯的ID号,数字类型的,建议还是判断类型,不要替换符号
if not isnumeric(id) then
Response.end
end if
回复
leiziaitudou 2010-07-26
应该是判断是否存在单引号“'”不是逗号“,”
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告