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

