如何过滤脚本代码?

ycc2008 2004-06-11 03:06:08
用户在文本框输入的东西如果带有脚本代码就给过滤掉,怎么写?
比如输入:abc<script language=javascript>alert('')</script>123
写进数据库的是abc123
要怎么写这个呢
...全文
245 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
ycc2008 2004-06-12
  • 打赏
  • 举报
回复
不行啊,领导的要求。。。唉
slhuang 2004-06-12
  • 打赏
  • 举报
回复
.net里不用管他。直接来就好了
ycc2008 2004-06-12
  • 打赏
  • 举报
回复
就是要cometzg(清の茶)说的那种。。。。
supermarrio 2004-06-12
  • 打赏
  • 举报
回复
用replace把一些特定的字符替换掉即可
cometzg 2004-06-12
  • 打赏
  • 举报
回复
楼主的意思是把<script ....>.......</script> 这样的全过滤掉,不好办。跟你领导说这样的办法 比尔盖茨还没想出来。
ycc2008 2004-06-12
  • 打赏
  • 举报
回复
唉,好失望
ycc2008 2004-06-11
  • 打赏
  • 举报
回复
换行了也不能过滤。。。
那这个函数就没用了。。。。
唉,找了一天也没找着,晕死
下班了,明天来结贴,希望有个满意的答案,,,,。。。
ycc2008 2004-06-11
  • 打赏
  • 举报
回复
你可以试试用这个函数过滤str=abc<aadf>123结果也是abc123。。。。。
fankejing 2004-06-11
  • 打赏
  • 举报
回复
用正则 教程www.aspsky.net 上有
Camelot 2004-06-11
  • 打赏
  • 举报
回复
fenglik(风易)的方法是对的啊,只是他还加了过滤<>只要去掉过滤<>就好了,代码如下:
<%
Function stripHTML(strHTML)
Dim objRegExp, strOutput
Set objRegExp=New Regexp
objRegExp.IgnoreCase= rue
objRegExp.Global=True
objRegExp.Pattern="<script?.+[/]script>"
strOutput=objRegExp.Replace(strHTML,"")
stripHTML=strOutput
Set objRegExp=Nothing
End Function
str="abc<script language=javascript>alert('')</script>123"
response.write stripHTML(str)
%>
不过上面的方法好像有些问题,就是当<script language=javascript>alert('')</script>之间换行了,就是这样
<script language=javascript>
alert('')
</script>就不能过滤了
ycc2008 2004-06-11
  • 打赏
  • 举报
回复
这样html代码就不好用了啊,还要显示表格什么的呢,就是html都好用,除了脚本代码给过滤掉!大家帮忙啊
TimLee✿ 2004-06-11
  • 打赏
  • 举报
回复


Function stripHTML(strHTML)
strHTML = Replace(strHTML, "<", "<")
stripHTML = strHTML
End Function

其实只要把 "<" 换成 "<" 就可以了,那个 ">" 不用管 ^_^

如果需要可以把逗号引号换成ASCII
ycc2008 2004-06-11
  • 打赏
  • 举报
回复
这样不好用啊
你试试abc<def>123,同样把<def>给过滤掉了,如果这样的话就不能实现html语句了
我只要过滤<script.....></script>呀
fenglik 2004-06-11
  • 打赏
  • 举报
回复
<%
Function stripHTML(strHTML)
Dim objRegExp, strOutput
Set objRegExp = New Regexp

objRegExp.IgnoreCase = True
objRegExp.Global = True
objRegExp.Pattern = "<script?.+[/]script>"

'Replace all HTML tag matches with the empty string
strOutput = objRegExp.Replace(strHTML, "")

'Replace all < and > with < and >
strOutput = Replace(strOutput, "<", "<")
strOutput = Replace(strOutput, ">", ">")

stripHTML = strOutput 'Return the value of strOutput

Set objRegExp = Nothing
End Function
str="abc<script language=javascript>alert('')</script>123"
response.write stripHTML(str)
%>
ycc2008 2004-06-11
  • 打赏
  • 举报
回复
唉,领导的意思,我没法。。。。。
zongxiangqun 2004-06-11
  • 打赏
  • 举报
回复
不如搞个出错提示,让用户自己修改好了。
ycc2008 2004-06-11
  • 打赏
  • 举报
回复
我要的是完全把脚本内容从<script。。。。/script>都过滤掉
因为我还要html的标签起作用啊,用正则表达式可以吧,但是我不会。。。
cometzg 2004-06-11
  • 打赏
  • 举报
回复
只能用replace函数把一些特定的字符如< 和> 替换掉,使得不能执行,过滤掉? 不能完全过滤掉,
LonelyStark 2004-06-11
  • 打赏
  • 举报
回复
用replace把一些特定的字符替换掉即可
ycc2008 2004-06-11
  • 打赏
  • 举报
回复
难道没人会?

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧