1. 云栖社区>
  2. PHP教程>
  3. 正文

HTML Purifier,PHP中过滤富文本&防止XSS攻击

作者:用户 来源:互联网 时间:2017-12-01 10:34:10

html文本xss过滤攻击防止AMPPurifierPHP

HTML Purifier,PHP中过滤富文本&防止XSS攻击 - 摘要: 本文讲的是HTML Purifier,PHP中过滤富文本&防止XSS攻击, 首先引用别人的原话:HTMLPurifier:PHP防止xss跨站攻击利器 xss是什么。 (百度到的→)XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括HT

首先引用别人的原话:HTMLPurifier:PHP防止xss跨站攻击利器


xss是什么。


(百度到的→)XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括HTML代码和客户端脚本。比如说在博客的新建文章的编辑框里输入然后保存,以后每次访问这篇文章都会弹提示框出来。


怎么防止。


htmlpurifier的方式的过滤掉比如编辑框里的文本是123,然后过滤之后,存进数据库的是123,所以访问文章就不会有提示框弹出啦。


HTMLPurfiler怎么用。


官方文档:http://htmlpurifier.org/live/configdoc/plain.html


好啦是全英的,反正我也看不太懂_(:з」∠)_,就挑一些我会的又比较重要的来说咯


1.首先是使用这个库的基本格式


require_once 'library/HTMLPurifier.auto.php';
$config = HTMLPurifier_Config::createDefault();
//这里配置$config,以下2 3 4点的代码都是插在这里啵
$purifier = new HTMLPurifier($config);
$dirty_html = " 要过滤的字符串";
$clean_Html = $purifier->purify($dirty_html);//过滤后的字符串

2.配置Attr(属性)


$config->set('Attr.EnableID', true); // 允许使用id
$config->set('Attr.IDPrefix', 'test_'); // 给所有id加上前缀test_
$config->set('Attr.AllowedClasses', array('test_by_willko'));// 设置允许使用的class名
$config->set('Attr.ForbiddenClasses', array('ignore'));// 设置拒绝使用的class名

比如:


使用了


$config->set('Attr.EnableID', true); // 允许使用id
$config->set('Attr.IDPrefix', 'test_'); // 给所有id加上前缀test_

↓h1的id加了前缀了,其他没有id就没有变


HTML Purifier,PHP中过滤富文本&防止XSS攻击";
echo $dirty_html;
echo "处理后
";
echo $clean_Html;
?>

主页:http://htmlpurifier.org/


参考:http://blog.csdn.net/hanzengyi/article/details/43019479



以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索html , 文本 , xss , 过滤 , 攻击 , 防止 , AMP PurifierPHP ,以便于您获取更多的相关知识。