资料介绍
软件简介
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次下载 | 免费
评论
查看更多