| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1215 人关注过本帖
标题:[求助]如何替换掉非法字符,我在论坛上没有搜索到就来请教了
只看楼主 加入收藏
redmangame
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2004-8-23
收藏
 问题点数:0 回复次数:13 
[求助]如何替换掉非法字符,我在论坛上没有搜索到就来请教了

[求助]如何替换掉非法字符,我在论坛上没有搜索到就来请教了
高手可以举例吗


还有就是替换非法字符的代码一般是放在处理信息的文件里还是放在输出信息的文件里呢
新手上路问题多多

搜索更多相关主题的帖子: 字符 搜索 
2006-01-22 20:53
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:0 
txtSql=Replace(txtSql, "'", "'")
txtSql=Replace(txtSql, "+", "+")
txtSql=Replace(txtSql, "<", "<")
txtSql=Replace(txtSql, ">", ">")
txtSql=Replace(txtSql, "(", "(")
txtSql=Replace(txtSql, ")", ")")
txtSql=Replace(txtSql, "$", "$")
txtSql=Replace(txtSql, "^", "︿")
txtSql=Replace(txtSql, "&", "&")
txtSql=Replace(txtSql, "*", "*")
txtSql=Replace(txtSql, "#", "#")
txtSql=Replace(txtSql, "?", "?")
txtSql=Replace(txtSql, "!", "!")
应该是这样的,把英文的替换成中文的

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2006-01-22 21:13
盖茨他爹
Rank: 6Rank: 6
等 级:贵宾
威 望:28
帖 子:5255
专家分:0
注 册:2005-5-3
收藏
得分:0 
如果是防SQL注入当然要放在处理信息文件中了
2006-01-22 21:17
rainic
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2367
专家分:0
注 册:2005-8-9
收藏
得分:0 
以下是引用houjuanjie在2006-1-22 21:13:00的发言:
txtSql=Replace(txtSql, "'", "'")
txtSql=Replace(txtSql, "+", "+")
txtSql=Replace(txtSql, "<", "<")
txtSql=Replace(txtSql, ">", ">")
txtSql=Replace(txtSql, "(", "(")
txtSql=Replace(txtSql, ")", ")")
txtSql=Replace(txtSql, "$", "$")
txtSql=Replace(txtSql, "^", "︿")
txtSql=Replace(txtSql, "&", "&")
txtSql=Replace(txtSql, "*", "*")
txtSql=Replace(txtSql, "#", "#")
txtSql=Replace(txtSql, "?", "?")
txtSql=Replace(txtSql, "!", "!")
应该是这样的,把英文的替换成中文的

我不喜欢这样,因为这样没有真实感,而且不方便别人复杂代码。


2006-01-22 21:51
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:0 
以下是引用rainic在2006-1-22 21:51:00的发言:

我不喜欢这样,因为这样没有真实感,而且不方便别人复杂代码。

能说说你的思路吗?我只会这个,还没有没的办法。


本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2006-01-22 22:14
rainic
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2367
专家分:0
注 册:2005-8-9
收藏
得分:0 
<%
'''''''''过滤字符
function filtrate(contentTemp,length)
length=Cint(length)
contentTemp=replace(contentTemp,"'","''")
contentTemp=replace(contentTemp,chr(34),"""")
contentTemp=replace(contentTemp,"&","&amp;")
contentTemp=replace(contentTemp," ","&nbsp;&nbsp;")
contentTemp=replace(contentTemp,"<","&lt;")
contentTemp=replace(contentTemp,">","&gt;")
if len(contentTemp)>length then
contentTemp=left(contentTemp,length)
end if
filtrate=contentTemp
end function
%>

写得不全,但我觉得过滤这几个就可以了。可以自己加

[此贴子已经被作者于2006-1-22 22:27:49编辑过]


2006-01-22 22:26
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
也只能自己硬编码添加要过滤的字符,除非谁还有更好的办法。
2006-01-22 23:08
redmangame
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2004-8-23
收藏
得分:0 
太深傲了,天啊SAVE。ASP
<%
function filtrate(con,length)
length=Cint(length)
con=replace(con,"'","''")
con=replace(con,chr(34),"""")
con=replace(con,"&","&amp;")
con=replace(con," ","&nbsp;&nbsp;")
con=replace(con,"<","&lt;")
con=replace(con,">","&gt;")
if len(con)>length then
con=left(con,length)
end if
filtrate=con
end function
%>
<%
dim title,con
title=request.form("title")
con=request.form("con")
if trim(title)="" or trim(con)="" then
response.write"所填标题和内容不能为空"
end if
if len(request.form("title"))>5 or len(request.form("con"))>200 then
response.write"所填标题和内容过长"
end if
set rs= Server.CreateObject("adodb.recordset")
sql= "select * from guestbook"
rs.open sql,conn,1,3
rs.addnew
rs("title")=title
rs("con")=con
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
response.write("成功<A HREF=list.asp>返回</A>")
%>
这样吧

我是菜鸟
2006-01-23 17:46
盖茨他爹
Rank: 6Rank: 6
等 级:贵宾
威 望:28
帖 子:5255
专家分:0
注 册:2005-5-3
收藏
得分:0 
函数filtrate没用上啊
2006-01-23 18:22
adleyliu
Rank: 1
等 级:新手上路
帖 子:146
专家分:0
注 册:2005-5-8
收藏
得分:0 

function checkStr(str)
str=replace(str,"'","")
Str=Replace(Str,chr(39),"") '过滤SQL注入
Str=Replace(Str,chr(91),"") '过滤SQL注入[
Str=Replace(Str,chr(93),"") '过滤SQL注入]
Str=Replace(Str,chr(37),"") '过滤SQL注入%
Str=Replace(Str,chr(59),"") '过滤SQL注入
Str=Replace(Str,chr(43),"") '过滤SQL注入;
Str=Replace(Str,chr(45),"") '过滤SQL注入+
Str=Replace(Str,chr(123),"") '过滤SQL注入{
Str=Replace(Str,chr(125),"") '过滤SQL注入}

checkStr=Str '返回经过上面字符替换后的Str
if isnull(str) then
checkStr = ""
exit function
end if
end function


易点通WEB源http://www..cn/ QQ:14339095 E-mail:adleyliu@
2006-01-23 22:11
快速回复:[求助]如何替换掉非法字符,我在论坛上没有搜索到就来请教了
数据加载中...
 
   



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

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