javascript過濾危險腳本方法
更新時間:2008年08月22日 13:03:29 作者:
腳本藏身之處不過有四:
1、<script>標(biāo)簽、<link>標(biāo)簽、<style>標(biāo)簽、iframe標(biāo)簽
2、on開頭的標(biāo)簽屬性
3、javascript(vbscript)偽協(xié)議
4、css的epression
下面是他們的字符串規(guī)則:
1、<(script|link|style|iframe)(.|\n)*<\/\1>\s*
2、\s*on[a-z]+\s*=\s*("[^"]+"|'[^']+'|[^\s]+)\s*(?=>)
3、\s*(href|src)\s*=\s*("\s*(javascript|vbscript):[^"]+"|'\s*(javascript|vbscript):[^']+'|(javascript|vbscript):[^\s]+)\s*(?=>)
4、epression\((.|\n)*\);?
了解他們的規(guī)則后,抓蟲行動就水到渠成。
test </textarea>
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
test </textarea>
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
expression() test </textarea>
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
這樣調(diào)用就可以
k1(k2(k3(k4(str))))
這樣就是單純地過濾腳本而已,所謂過濾“危險腳本”應(yīng)該是能夠判斷哪些屬于“危險"腳本,不危險的就不過濾才對……那可就難辦了,相當(dāng)于防火墻了。
1、<(script|link|style|iframe)(.|\n)*<\/\1>\s*
2、\s*on[a-z]+\s*=\s*("[^"]+"|'[^']+'|[^\s]+)\s*(?=>)
3、\s*(href|src)\s*=\s*("\s*(javascript|vbscript):[^"]+"|'\s*(javascript|vbscript):[^']+'|(javascript|vbscript):[^\s]+)\s*(?=>)
4、epression\((.|\n)*\);?
了解他們的規(guī)則后,抓蟲行動就水到渠成。
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
這樣調(diào)用就可以
k1(k2(k3(k4(str))))
這樣就是單純地過濾腳本而已,所謂過濾“危險腳本”應(yīng)該是能夠判斷哪些屬于“危險"腳本,不危險的就不過濾才對……那可就難辦了,相當(dāng)于防火墻了。
您可能感興趣的文章:
- javascript實(shí)現(xiàn)網(wǎng)頁屏蔽Backspace事件,輸入框不屏蔽
- JavaScript實(shí)現(xiàn)檢查頁面上的廣告是否被AdBlock屏蔽了的方法
- javascript屏蔽右鍵代碼
- JavaScript屏蔽指定區(qū)域內(nèi)右鍵菜單
- JavaScript 關(guān)鍵字屏蔽實(shí)現(xiàn)函數(shù)
- javascript 屏蔽鼠標(biāo)鍵盤的幾段代碼
- 在textarea中屏蔽js的某個function的javascript代碼
- 屏蔽鼠標(biāo)右鍵、Ctrl+n、shift+F10、F5刷新、退格鍵 的javascript代碼
- 實(shí)用javaScript技術(shù)-屏蔽類
- javascript實(shí)現(xiàn)劃詞標(biāo)記+劃詞搜索功能
- JavaScript實(shí)現(xiàn)自動對頁面上敏感詞進(jìn)行屏蔽的方法
相關(guān)文章
實(shí)現(xiàn)局部遮罩與關(guān)閉原理及代碼
實(shí)現(xiàn)局部遮罩,或許對某些朋友有著特殊的意義。局部遮罩的原理很簡單另外加上關(guān)閉就有著另一番的效果,本文將介紹實(shí)現(xiàn)方法,感興趣的朋友可以了解下,或許對你有所幫助2013-02-02關(guān)于JavaScript實(shí)現(xiàn)動畫時動畫抖動的原因與解決方法
最近在使用JS動畫做一些練習(xí)的時候我發(fā)現(xiàn)在動畫執(zhí)行時間內(nèi)快速移開鼠標(biāo)時會出現(xiàn)動畫因鼠標(biāo)移動過快從而導(dǎo)致代碼沖突讓畫面抖動的bug,這篇文章主要給大家介紹了關(guān)于JavaScript實(shí)現(xiàn)動畫時動畫抖動的原因與解決方法,需要的朋友可以參考下2022-06-06解決微信小程序調(diào)用moveToLocation失效問題【超簡單】
這篇文章主要介紹了解決微信小程序調(diào)用moveToLocation失效問題,解決方法超級簡單,需要的朋友可以參考下2019-04-04微信小程序chooseImage的用法(從本地相冊選擇圖片或使用相機(jī)拍照)
這篇文章主要介紹了微信小程序chooseImage的用法(從本地相冊選擇圖片或使用相機(jī)拍照),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08Three.js基礎(chǔ)學(xué)習(xí)之場景對象
這篇文章主要給大家介紹了Three.js基礎(chǔ)學(xué)習(xí)之場景對象的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用three.js具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起看看吧。2017-09-09javascript利用apply和arguments復(fù)用方法
這篇文章主要介紹了javascript利用apply和arguments復(fù)用方法,有需要的朋友可以參考一下2013-11-11