| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 460 人关注过本帖
标题:大家看一下顺便解释一下!
只看楼主 加入收藏
孤独冷雨
Rank: 10Rank: 10Rank: 10
来 自:安徽滁州
等 级:贵宾
威 望:23
帖 子:1247
专家分:1909
注 册:2007-6-4
结帖率:82.61%
收藏
 问题点数:0 回复次数:8 
大家看一下顺便解释一下!
Function CheckSql() '防止SQL注入
Dim sql_injdata
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
End Function


我把这段防注放代码保存在(abc.asp页面里)加入后台调用,在后台提交新闻时,老是报错,我把这个调用去掉后又行了,但在前台用于新闻内容显示时可以用。是怎么回事了?

[此贴子已经被作者于2007-9-21 0:16:21编辑过]

搜索更多相关主题的帖子: 解释 
2007-09-21 00:12
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 

这个函数在从客户端提交Sql语句时就会拦截Sql语句,楼主报的什么错误?

2007-09-21 11:23
hmhz
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:30
帖 子:1890
专家分:503
注 册:2006-12-17
收藏
得分:0 

你提交的新闻标题或者内容里有包含
"'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare"
这些被拦截的防注入单词或符号

所以你去掉防注入就可以了,为了安全那就不要去掉,但提交内容有时候会被拦截
那就得把你提交的内容进行过滤就没事了


[编程论坛] ASP超级群:49158383  敲门暗号:ASP编程
龍艺博客 http://www.
2007-09-21 11:32
孤独冷雨
Rank: 10Rank: 10Rank: 10
来 自:安徽滁州
等 级:贵宾
威 望:23
帖 子:1247
专家分:1909
注 册:2007-6-4
收藏
得分:0 

我在向数据库加内容时,他提示!rs("uname")=trim(request("uname")) 这半个小括号是非法字符!可根本不是啊!


这里有男女系列成人用品,有时间兄弟们来看一看.
51za.
2007-09-21 15:04
孤独冷雨
Rank: 10Rank: 10Rank: 10
来 自:安徽滁州
等 级:贵宾
威 望:23
帖 子:1247
专家分:1909
注 册:2007-6-4
收藏
得分:0 

三楼的能详细说一下,怎么过虑吗?


这里有男女系列成人用品,有时间兄弟们来看一看.
51za.
2007-09-21 15:06
hmhz
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:30
帖 子:1890
专家分:503
注 册:2006-12-17
收藏
得分:0 

过滤使用替换的方式
比如符号单引号 “'”可以使用编码 &#39; 来代替
例如 uname=replace(request("uname"),"'","&#39;")


[编程论坛] ASP超级群:49158383  敲门暗号:ASP编程
龍艺博客 http://www.
2007-09-21 15:31
孤独冷雨
Rank: 10Rank: 10Rank: 10
来 自:安徽滁州
等 级:贵宾
威 望:23
帖 子:1247
专家分:1909
注 册:2007-6-4
收藏
得分:0 

是用你用的这样的做的,可还是不行!


这里有男女系列成人用品,有时间兄弟们来看一看.
51za.
2007-09-21 15:46
hmhz
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:30
帖 子:1890
专家分:503
注 册:2006-12-17
收藏
得分:0 

过滤里面有这么多 "'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare"
我只说了一种,你只用我一种的怎么行呢


[编程论坛] ASP超级群:49158383  敲门暗号:ASP编程
龍艺博客 http://www.
2007-09-21 15:52
孤独冷雨
Rank: 10Rank: 10Rank: 10
来 自:安徽滁州
等 级:贵宾
威 望:23
帖 子:1247
专家分:1909
注 册:2007-6-4
收藏
得分:0 
replace(replace(replace(replace(Rtrim(request.Form("news_content")),"<","&lt;"),">","&gt;"),"'","&#39;"),"“","&quot;")
能把你的QQ留一下吗?我想向你好好请教一下!我的QQ:121355385

这里有男女系列成人用品,有时间兄弟们来看一看.
51za.
2007-09-21 16:06
快速回复:大家看一下顺便解释一下!
数据加载中...
 
   



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

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