人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

運用ASP程序對“HTML炸彈”進行屏蔽

運用ASP程序對“HTML炸彈”進行屏蔽

更新時間:2022-10-01 文章作者:未知 信息來源:網絡 閱讀次數:

我們在使用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),"&nbsp;",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運行通過)


溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 腾冲县| 陆良县| 大英县| 鸡东县| 卢龙县| 绍兴县| 福贡县| 阳原县| 色达县| 金沙县| 剑河县| 炎陵县| 南澳县| 太谷县| 江油市| 腾冲县| 泊头市| 奉节县| 柏乡县| 安塞县| 金坛市| 略阳县| 营口市| 黄平县| 朔州市| 邛崃市| 墨竹工卡县| 金沙县| 安宁市| 文登市| 共和县| 塔河县| 涞水县| 石嘴山市| 阿瓦提县| 高台县| 随州市| 磐石市| 龙州县| 汨罗市| 汝城县|