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實現(xiàn)網(wǎng)頁屏蔽Backspace事件,輸入框不屏蔽
- JavaScript實現(xiàn)檢查頁面上的廣告是否被AdBlock屏蔽了的方法
- javascript屏蔽右鍵代碼
- JavaScript屏蔽指定區(qū)域內(nèi)右鍵菜單
- JavaScript 關(guān)鍵字屏蔽實現(xiàn)函數(shù)
- javascript 屏蔽鼠標(biāo)鍵盤的幾段代碼
- 在textarea中屏蔽js的某個function的javascript代碼
- 屏蔽鼠標(biāo)右鍵、Ctrl+n、shift+F10、F5刷新、退格鍵 的javascript代碼
- 實用javaScript技術(shù)-屏蔽類
- javascript實現(xiàn)劃詞標(biāo)記+劃詞搜索功能
- JavaScript實現(xiàn)自動對頁面上敏感詞進行屏蔽的方法
相關(guān)文章
JavaScript實現(xiàn)數(shù)組去重的14種方法大全
親愛的小伙伴,對于數(shù)組javascript中的數(shù)組去重方法你知道多少種呢?學(xué)會如何對數(shù)組進行去重對于javascript的學(xué)習(xí)來說也是十分重要的,下邊就讓我來分享一下我所知道的集中數(shù)組去重的方法吧,感興趣的小伙伴跟著小編一起來看看吧2025-03-03
JavaScript延遲加載之a(chǎn)sync與defer的應(yīng)用
這篇文章主要介紹了JavaScript延遲加載之a(chǎn)sync與defer的應(yīng)用場景與使用區(qū)別的介紹,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-09-09
JavaScript數(shù)組實現(xiàn)數(shù)據(jù)結(jié)構(gòu)中的隊列與堆棧
這篇文章主要介紹了JavaScript數(shù)組實現(xiàn)數(shù)據(jù)結(jié)構(gòu)中的隊列與堆棧的相關(guān)資料,需要的朋友可以參考下2016-05-05
javascript實現(xiàn)點擊按鈕讓DIV層彈性移動的方法
這篇文章主要介紹了javascript實現(xiàn)點擊按鈕讓DIV層彈性移動的方法,實例分析了javascript操作div層的操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-02-02
JS簡單獲取當(dāng)前日期和農(nóng)歷日期的方法
這篇文章主要介紹了JS簡單獲取當(dāng)前日期和農(nóng)歷日期的方法,涉及javascript日期運算與字符串轉(zhuǎn)換相關(guān)操作技巧,需要的朋友可以參考下2017-04-04

