javascript過濾危險腳本方法
更新時間:2008年08月22日 13:03:29 作者:
腳本藏身之處不過有四:
1、<script>標簽、<link>標簽、<style>標簽、iframe標簽
2、on開頭的標簽屬性
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í)行]
這樣調用就可以
k1(k2(k3(k4(str))))
這樣就是單純地過濾腳本而已,所謂過濾“危險腳本”應該是能夠判斷哪些屬于“危險"腳本,不危險的就不過濾才對……那可就難辦了,相當于防火墻了。
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í)行]
這樣調用就可以
k1(k2(k3(k4(str))))
這樣就是單純地過濾腳本而已,所謂過濾“危險腳本”應該是能夠判斷哪些屬于“危險"腳本,不危險的就不過濾才對……那可就難辦了,相當于防火墻了。
您可能感興趣的文章:
- javascript實現(xiàn)網頁屏蔽Backspace事件,輸入框不屏蔽
- JavaScript實現(xiàn)檢查頁面上的廣告是否被AdBlock屏蔽了的方法
- javascript屏蔽右鍵代碼
- JavaScript屏蔽指定區(qū)域內右鍵菜單
- JavaScript 關鍵字屏蔽實現(xiàn)函數
- javascript 屏蔽鼠標鍵盤的幾段代碼
- 在textarea中屏蔽js的某個function的javascript代碼
- 屏蔽鼠標右鍵、Ctrl+n、shift+F10、F5刷新、退格鍵 的javascript代碼
- 實用javaScript技術-屏蔽類
- javascript實現(xiàn)劃詞標記+劃詞搜索功能
- JavaScript實現(xiàn)自動對頁面上敏感詞進行屏蔽的方法
相關文章
JavaScript實現(xiàn)數組去重的14種方法大全
親愛的小伙伴,對于數組javascript中的數組去重方法你知道多少種呢?學會如何對數組進行去重對于javascript的學習來說也是十分重要的,下邊就讓我來分享一下我所知道的集中數組去重的方法吧,感興趣的小伙伴跟著小編一起來看看吧2025-03-03
JavaScript數組實現(xiàn)數據結構中的隊列與堆棧
這篇文章主要介紹了JavaScript數組實現(xiàn)數據結構中的隊列與堆棧的相關資料,需要的朋友可以參考下2016-05-05
javascript實現(xiàn)點擊按鈕讓DIV層彈性移動的方法
這篇文章主要介紹了javascript實現(xiàn)點擊按鈕讓DIV層彈性移動的方法,實例分析了javascript操作div層的操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-02-02

