資料介紹
軟件簡(jiǎn)介
White HTML Filter
簡(jiǎn)介
XSS是什么就不介紹了,很多時(shí)候因?yàn)槔习宓男枨笾惖?,必須用到UEditor之類的HTML富文本編輯器,這時(shí)候XSS防御就很重要了。
很多人會(huì)選擇用strip_tags()之類的來(lái)去除HTML標(biāo)記,但是去除了標(biāo)簽,還有onclick之類的危險(xiǎn)屬性。而且過(guò)濾了屬性,對(duì)于必須通過(guò)iframe插入HTML5視頻的情況,還要過(guò)濾屬性的值。
一個(gè)常見(jiàn)做法是用正則表達(dá)式來(lái)切分HTML字符串,然后得到多個(gè)多維數(shù)組,利用黑名單過(guò)濾完后再拼接回HTML,這種方法因?yàn)榻馕鯤TML的方式跟瀏覽器不同,所以很容易被繞過(guò)。
這款工具應(yīng)運(yùn)而生,使用基于與瀏覽器解析HTML方式一致的標(biāo)記化算法(The Tokenization Algorithm)的DOMDocument來(lái)解析HTML,然后利用白名單來(lái)過(guò)濾HTML標(biāo)簽、屬性、乃至屬性值。
使用方法
1、引入
composer?require?lincanbin/white-html-filter
2、使用
use?lincanbin\WhiteHTMLFilter; ? //跨站腳本白名單過(guò)濾 function?XssEscape($html) { ???$filter?=?new?WhiteHTMLFilter(); ???$urlFilter?=?function($url)?{ ??????$token?=?parse_url($url); ??????if?(empty($token['scheme'])?||?in_array($token['scheme'],?array('http',?'https'))?===?false)?{ ?????????return?''; ??????} ??????$hostWhiteList?=?array( ?????????'www.youtube.com',?'youtube.com',?'www.youtu.be',?'youtu.be', ?????????'player.youku.com',?'v.youku.com', ?????????'video.tudou.com',?'www.tudou.com', ?????????'player.video.qiyi.com',?'open.iqiyi.com', ?????????'imgcache.qq.com',?'v.qq.com', ?????????'static.hdslb.com', ?????????//'www.le.com', ?????????'share.vrs.sohu.com',?'tv.sohu.com', ?????????'player.pptv.com', ?????????'cdn.aixifan.com', ?????????'v.ifeng.com', ?????????'video.sina.com.cn', ?????????'galaxy.bjcathay.com'//CNTV ??????); ??????if?(empty($token['host'])?||?in_array($token['host'],?$hostWhiteList)?===?false)?{ ?????????return?''; ??????} ??????return?$url; ???}; ? ???$iframeRule?=?array( ??????'iframe'?=>?array( ?????????'src'?=>?$urlFilter, ?????????'width', ?????????'height', ?????????'frameborder', ?????????'allowfullscreen' ??????) ???); ???$filter->config->modifyTagWhiteList($iframeRule); ???$filter->loadHTML($html); ???$filter->clean(); ???return?$filter->outputHtml(); }
以上這段代碼表示在默認(rèn)白名單列表后追加配置,允許iframe標(biāo)簽的使用,只允許iframe的src、width、height、frameborder、allowfullscreen屬性。
并對(duì)src的屬性值進(jìn)行過(guò)濾,使得當(dāng)iframe的src屬性值的URL的域?qū)儆谝陨嫌蛎斜碇械钠渲兄粫r(shí),才允許該值出現(xiàn),否則令src屬性值為空。
更多示例
你可以在這里使用GitHub帳號(hào)登錄 https://www.94cb.com/t/5280 ,并這個(gè)帖子下面回帖對(duì)這個(gè)庫(kù)進(jìn)行測(cè)試。
- USB音頻過(guò)濾器驅(qū)動(dòng)程序安裝
- 優(yōu)化TPS62097 Output過(guò)濾器
- 使用HC49晶體的梯形過(guò)濾器
- STM32 CAN應(yīng)用-過(guò)濾器設(shè)置
- 創(chuàng)新陶瓷過(guò)濾器解決方案 16次下載
- 超聲輔助反沖洗過(guò)濾器的試驗(yàn)研究 0次下載
- 基于混淆布魯姆過(guò)濾器的云外包隱私集合比較協(xié)議 0次下載
- 一種隱私保護(hù)的可逆布魯姆過(guò)濾器PPIBF設(shè)計(jì) 6次下載
- 使用白名單保護(hù)商店安全 12次下載
- 抗鋸齒過(guò)濾器的低噪音,低失真設(shè)計(jì) 14次下載
- 基于單片機(jī)的自潔式空氣過(guò)濾器反吹控制系統(tǒng)設(shè)計(jì)_石蕾 0次下載
- 污水過(guò)濾器plc程序 14次下載
- 基于值域二次哈希方法的布魯姆過(guò)濾器
- CN過(guò)濾器原理
- 擠出機(jī)用熔體過(guò)濾器的種類及發(fā)展
- 解析ECAN-E02單過(guò)濾器CAN硬件過(guò)濾 40次閱讀
- CAN協(xié)議的軟件過(guò)濾和硬件過(guò)濾 188次閱讀
- CH32FV系列CAN設(shè)備過(guò)濾器配置 326次閱讀
- 信號(hào)分析和過(guò)濾器的作用 822次閱讀
- Windows文件系統(tǒng)過(guò)濾驅(qū)動(dòng)程序介紹 1552次閱讀
- PADS Layout軟件中過(guò)濾器的使用方法 1053次閱讀
- 機(jī)器視覺(jué)中的過(guò)濾器技術(shù) 809次閱讀
- 過(guò)濾器選型的原則要求介紹 4025次閱讀
- 科普一下12種管道過(guò)濾器 6846次閱讀
- 干燥過(guò)濾器的作用/結(jié)構(gòu)/分類/工作原理/常見(jiàn)故障 2w次閱讀
- 過(guò)濾器的應(yīng)用有哪些 2828次閱讀
- 干燥過(guò)濾器的結(jié)構(gòu)及原理 1.7w次閱讀
- 干燥過(guò)濾器的作用_過(guò)濾器的性能特點(diǎn) 2w次閱讀
- STM32單片機(jī)對(duì)CAN過(guò)濾器的設(shè)置方法 1.7w次閱讀
- 冰箱過(guò)濾器工作原理、作用、結(jié)構(gòu)特點(diǎn)、發(fā)涼、發(fā)熱 2.6w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論