| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 941 人关注过本帖
标题:求 asp防注入程序
取消只看楼主 加入收藏
lisir123
Rank: 1
等 级:新手上路
帖 子:215
专家分:0
注 册:2005-12-16
结帖率:100%
收藏
 问题点数:0 回复次数:9 
求 asp防注入程序

各位大虾,版主们谁有不错的asp防注入程序给俺发几个,希望戴上使用说明。谢谢了

搜索更多相关主题的帖子: asp 
2006-01-12 12:00
lisir123
Rank: 1
等 级:新手上路
帖 子:215
专家分:0
注 册:2005-12-16
收藏
得分:0 

咱们这个论坛用的是什么防注程序?

像搂上说的,过滤关键字时,区分大小写吗?

2006-01-12 13:16
lisir123
Rank: 1
等 级:新手上路
帖 子:215
专家分:0
注 册:2005-12-16
收藏
得分:0 
以下是引用rainic在2006-1-12 13:17:00的发言:

我觉得不用那么复杂,判断一下传递参数的长度和类型就可以了

看完http://www.sxsoft.com/technology_test/show_news.asp?id=452这篇文章后,我心里好怕,我对sql防注不是太了解,希望大家给我一个好的解决方法

2006-01-12 13:24
lisir123
Rank: 1
等 级:新手上路
帖 子:215
专家分:0
注 册:2005-12-16
收藏
得分:0 

可是我现在用的就是sql 该怎么办?

2006-01-12 13:35
lisir123
Rank: 1
等 级:新手上路
帖 子:215
专家分:0
注 册:2005-12-16
收藏
得分:0 
以下是引用rainic在2006-1-12 13:27:00的发言:
它不就是在后面加了一大串语句吗,你不让他加这么多个字不就行了,再说,如果你传递的参数只是数字。你只要判断一下参数是不是数字就行了。

如果传得是字符串该怎么办?

2006-01-12 13:36
lisir123
Rank: 1
等 级:新手上路
帖 子:215
专家分:0
注 册:2005-12-16
收藏
得分:0 
以下是引用盖茨他爹在2006-1-12 13:45:00的发言:
注入有这么可怕吗?
判断URL参数长度,判断是否为纯数字,过滤单引号,这些都做了

就像这个函数一样吗

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
2006-01-12 13:47
lisir123
Rank: 1
等 级:新手上路
帖 子:215
专家分:0
注 册:2005-12-16
收藏
得分:0 
以下是引用盖茨他爹在2006-1-12 13:52:00的发言:
是啊,这个还没判断长度

还需要判断长度, 没有这个必要吧, 能举个例子吗

顺便帮我把这个函数完善一下吧,谢谢了

2006-01-12 13:58
lisir123
Rank: 1
等 级:新手上路
帖 子:215
专家分:0
注 册:2005-12-16
收藏
得分:0 
还有一个小小的问题
这个函数是不是只针对 request.querystring() 接受的?

对接受表单不适用?
2006-01-12 14:21
lisir123
Rank: 1
等 级:新手上路
帖 子:215
专家分:0
注 册:2005-12-16
收藏
得分:0 

如果传递的参数都为数字是不是安全一些?

2006-01-12 15:10
lisir123
Rank: 1
等 级:新手上路
帖 子:215
专家分:0
注 册:2005-12-16
收藏
得分:0 
我把防注入程序改了一下,大家分享一下
Function SafeRequest(ParaName,ParaType)
'--- 传入参数 ---
'ParaName:参数名称-字符型
'ParaType:参数类型-数字型(1表示以上参数是数字,0表示以上参数为字符)
Dim Paravalue
Paravalue=trim(Request(ParaName))
If ParaType=1 then
if len(Paravalue)<>0 then
If not isNumeric(Paravalue) then
Response.write "应为数字!!!!"
Response.end
End if
end if
Else
Paravalue=replace(Paravalue,"'","")
x=len(Paravalue)
if x>20 then //此处限制传递参数的长度
response.write "非法字符"
response.end
end if
End if
SafeRequest=Paravalue
End function

[此贴子已经被作者于2006-1-13 9:40:22编辑过]

2006-01-13 09:39
快速回复:求 asp防注入程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031497 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved