資料介紹
軟件簡介
White HTML Filter
簡介
XSS是什么就不介紹了,很多時候因為老板的需求之類的,必須用到UEditor之類的HTML富文本編輯器,這時候XSS防御就很重要了。
很多人會選擇用strip_tags()之類的來去除HTML標記,但是去除了標簽,還有onclick之類的危險屬性。而且過濾了屬性,對于必須通過iframe插入HTML5視頻的情況,還要過濾屬性的值。
一個常見做法是用正則表達式來切分HTML字符串,然后得到多個多維數組,利用黑名單過濾完后再拼接回HTML,這種方法因為解析HTML的方式跟瀏覽器不同,所以很容易被繞過。
這款工具應運而生,使用基于與瀏覽器解析HTML方式一致的標記化算法(The Tokenization Algorithm)的DOMDocument來解析HTML,然后利用白名單來過濾HTML標簽、屬性、乃至屬性值。
使用方法
1、引入
composer?require?lincanbin/white-html-filter
2、使用
use?lincanbin\WhiteHTMLFilter; ? //跨站腳本白名單過濾 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(); }
以上這段代碼表示在默認白名單列表后追加配置,允許iframe標簽的使用,只允許iframe的src、width、height、frameborder、allowfullscreen屬性。
并對src的屬性值進行過濾,使得當iframe的src屬性值的URL的域屬于以上域名列表中的其中之一時,才允許該值出現,否則令src屬性值為空。
更多示例
你可以在這里使用GitHub帳號登錄 https://www.94cb.com/t/5280 ,并這個帖子下面回帖對這個庫進行測試。
- 使用HC49晶體的梯形過濾器
- STM32 CAN應用-過濾器設置
- 創新陶瓷過濾器解決方案 16次下載
- 超聲輔助反沖洗過濾器的試驗研究 0次下載
- 基于混淆布魯姆過濾器的云外包隱私集合比較協議 0次下載
- 一種隱私保護的可逆布魯姆過濾器PPIBF設計 6次下載
- 使用白名單保護商店安全 12次下載
- 抗鋸齒過濾器的低噪音,低失真設計 14次下載
- 基于單片機的自潔式空氣過濾器反吹控制系統設計_石蕾 0次下載
- 污水過濾器plc程序 14次下載
- 基于值域二次哈希方法的布魯姆過濾器
- CN過濾器原理
- 基于S7-300的層流過濾器反沖洗控制系統
- 擠出機用熔體過濾器的種類及發展
- 基于工業以太網的動態通信平滑過濾器研究
- 信號分析和過濾器的作用 427次閱讀
- 阿里云11.12故障原因及改進措施 494次閱讀
- Windows文件系統過濾驅動程序介紹 1241次閱讀
- PADS Layout軟件中過濾器的使用方法 842次閱讀
- 機器視覺中的過濾器技術 669次閱讀
- 緩存被穿透了如何解決 553次閱讀
- 過濾器選型的原則要求介紹 3464次閱讀
- 科普一下12種管道過濾器 6119次閱讀
- 干燥過濾器的作用/結構/分類/工作原理/常見故障 1.7w次閱讀
- 過濾器的應用有哪些 2698次閱讀
- 干燥過濾器的結構及原理 1.6w次閱讀
- 干燥過濾器的作用_過濾器的性能特點 1.9w次閱讀
- STM32單片機對CAN過濾器的設置方法 1.7w次閱讀
- 新款iPhone將使用更加先進的射頻過濾器技術 2021次閱讀
- 冰箱過濾器工作原理、作用、結構特點、發涼、發熱 2.6w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多