|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ASP在国内异常流行,因为国内大多使用的是盗版的Windows和盗版的SQLServer,而ASP+COM+SQLServer实际上也是一种不错的搭配,其性能也不输于PHP+MYSQL,特别是Windows系统和SQLServer都有图形界面,比APACHE和MYSQL易于维护,因此对于不重视知识产权的国家来说也是一种不错的选择。我们在利用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文章内容
*******************************
FunctionSaveDoc(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)
上面一般保留到响应的数据库中就好了
...................
EndFunction
第二种办法是:在把文章保留到数据库之前不做任那边理,只是在显现到扫瞄器的时分,利用ASP对从数据库中掏出的数据作响应的处置,以便一般显现。由于文章的内容有大概要显现到两种中央,一个是复杂的浏览,必要显现到Table;别的就是要复兴文章,就要显现到TextArea框内里,以是必要的两份代码以下:
*****************************
浏览文章内容,显现在Table中
参数content就是从数据库中提掏出来的文章内容
*****************************
FunctionShowDocToRead(content)
dimtemp
temp=""
假如文章内容为空,就加入
iftrim(content)=""then
ShowDocToRead=""
exitfunction
endif
过滤失落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
Endfunction
**********************************
浏览文章内容,显现在TextArea中,於用
回答.
***********************************
FunctionShowDocToWrite(content,author)
dimtemp
temp=""
iftrim(content)=""then
ShowDocToWrite=""
exitfunction
endif
content="【"&author&"在高文中谈到:】"&chr(13)&chr(10)&contenttemp=">"&replace(content,chr(10),chr(10)&">",1)
temp=replace(temp,"<","<",1)
temp=replace(temp,">",">",1)
ShowDocToWrite=temp
EndFunction
如许,经由过程这两种办法,即使是文章内容包括HTML代码,大概Script语句,我们的论坛大概BBS也能够一般将文章内容显现出来了,能够无效的避免一般人对论坛大概BBS的歹意打击,使我们的论坛大概BBS加倍平安和健壮。
另外一个必要注重的中央是,文章的内容在保留到数据库之前,应该过滤失落单引号,不然在实行SQL语句的时分就会产生毛病,由于年夜多半据库体系都是把单引号看成支解标记的。
(以上ASP程序在WinNT4.0英文版SP5,IIS4.0,MSSQLServer7.0SP2运转经由过程)
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。 |
|