首页 >> 读书频道 >> 电脑 >> 使用ASP程序对“HTML炸弹”进行屏蔽
 
· 用ASP让用户访问指定页
· 利用ASP生成EXECL
· 编写“公平”的ASP图形
· 如何用SAFileUp上
· 用ASP实现号码转换程序
· 用ASP实现文档资料管理
· 用asp怎样编写文档搜索
· 用asp怎样编写文档搜索
· 用asp怎样编写文档搜索
· 用asp怎样编写文档搜索
· 用asp怎样编写文档搜索
· 用asp怎样编写文档搜索
 
· 美容养颜手册
· 加油金顺剧情分集介绍完整
· 红楼梦:120回全本[清
· 素质教育在美国
· 全唐诗卷四十六
· 韩剧《布拉格恋人》剧情介
· 夜航船[作者:明·张岱]
· 局外人[作者:韩·可爱淘
· 现场流行病学
· 源氏物语[日本:紫式部]
· 武林寓言故事
· 2006高考录取规则
 
· (出租)中动商场部分及写
· (出租)中动动漫基地&#
· 喜剧学院
· 《善德女王》剧情介绍
· 魔女18号 剧情
· 丑女无敌剧情介绍
· 魔女幼熙剧情介绍
· 龙游天下剧情介绍
· 震撼世界的七日剧情介绍
· 静静的白桦林剧情介绍
· 心情日记—老公今天我想对
· 旗舰剧情介绍
欢迎来到月影社区!如果您觉得这里不错,请推荐给您的朋友们。月影社区:http://wf66.com/

使用ASP程序对“HTML炸弹”进行屏蔽


查看有无更新版本

关键字:ASP实例 2006-9-9

 

我们在使用ASP来编写论坛或者BBS程序的时候,经常会遇到这样的问题,当网友在我的论坛或者BBS上面发表的文章带有HTML代码的时候,如何才能正常的显示这篇带有HTML代码的文章呢?如果在向数据库保存数据的时候或者向浏览器输出显示内容的时候不做任何处理,就会发生麻烦,比如,我发表的一篇文章带有如下的代码:
<script language="javascript">
for(i=1;i<=10000;i++)
{
parent.moveBy(20,20);parent.moveBy(-20,-20)
}
</script>
当其他的网友阅读这篇文章的时候,他就会发现他的浏览器在不停的跳动,整个屏幕一片混乱,这也就是俗称的“HTML炸弹”。所以为了更好服务于到我们论坛贴文章和阅读文章的网友,我们就要屏蔽类似的“HTML炸弹”。屏蔽“HTML炸弹”大致有两种途径:
第一种是在将文章保存到数据库之前就使用ASP程序过滤掉文章中的“HTML炸弹”。方法是:将文章中所有的英文半角的字符“<”以及“>”分别替换成为英文全角的字符“<”以及“>”,然后再保存到数据库中。代码如下:
'*******************************
'保存文章内容
'参数:Ftitle文章标题
'Fcontent 文章内容
'*******************************
Function SaveDoc(Ftitle,Fcontent)
'..................
'这里是联接数据库的代码
'....................
 
'过滤掉HTML炸弹以及单引号
Ftitle =replace(Ftitle,"'","''",1)
Ftitle =replace(Ftitle,"<","<",1)
Ftitle =replace(Ftitle,">",">",1)
Fcontent =replace(Fcontent,"'","''",1)
Fcontent =replace(Fcontent,"<","<",1)
Fcontent =replace(Fcontent,">",">",1)
 
'下面正常保存到相应的数据库中就行了
'...................
End Function
第二种方法是:在把文章保存到数据库之前不做任何处理,只是在显示到浏览器的时候,使用ASP对从数据库中取出的数据作相应的处理,以便正常显示。因为文章的内容有可能要显示到两种地方,一个是简单的阅读,需要显示到Table;另外就是要回复文章,就要显示到TextArea框里面,所以需要的两份代码如下:
'*****************************
'阅读文章内容,显示在Table中
'参数content就是从数据库中提取出来的文章内容
'*****************************
Function ShowDocToRead(content)
dim temp
 temp=""
'如果文章内容为空,就退出
if trim(content)="" then
 ShowDocToRead=""
 exit function
 end if
 
'过滤掉HTML炸弹
 temp=replace(content,chr(13)&chr(10),"<br>",1)
 temp=replace(temp,chr(32)," ",1)
 temp =replace(temp,"<","<",1)
 temp =replace(temp,">",">",1)
 ShowDocToRead=temp
End function
 
'**********************************
'阅读文章内容,显示在TextArea中,於用
'回覆.
'
'***********************************
Function ShowDocToWrite(content,author)
dim temp
 
temp=""
if trim(content)=""then
ShowDocToWrite=""
exit function
end if
content="【" & author & "在大作中谈到:】" & chr(13)&chr(10) & content temp=">" & replace(content,chr(10),chr(10)&">",1)
temp =replace(temp,"<","<",1)
temp =replace(temp,">",">",1)
 
ShowDocToWrite=temp
End Function
 
这样,通过这两种方法,即便是文章内容包含HTML代码,或者Script语句,我们的论坛或者BBS也可以正常将文章内容显示出来了,可以有效的防止个别人对论坛或者BBS的恶意攻击,使我们的论坛或者BBS更加安全和强壮。
另一个需要注意的地方是,文章的内容在保存到数据库之前,应当过滤掉单引号,否则在执行SQL语句的时候就会发生错误,因为大多数据库系统都是把单引号当作分割符号的。
(以上ASP程序在WinNT4.0英文版SP5,IIS4.0,MS SQL Server7.0SP2运行通过)

使用ASP程序对“HTML炸弹”进行屏蔽

[ 1 ]
使用ASP程序对“HTML炸弹”进行屏蔽 num

打印本页 关闭

关于我们版权声明本站导航友情连结作品演示 TOP↑