操作:
1.下载包
2.压缩并复制到/Public/目录下
3.在需要使用的页面导入JS和CSS文件
为textarea添加一个ID:
问题六、在线编辑器中的HTML内容会TP过滤转义,这样效果就失效了:不转义会被攻击
解决办法:有选择性的过滤:只过滤掉危险的JS脚本代码、保留HTML。可以使用htmlpurifier这个开源包来做这个事儿。
实际操作:
1.下载
2.压缩出library目录中的代码到项目根目录 并改名
封装一个公共的方法
// 有选择性的过滤XSS --》 说明:性能非常低-》尽量少用
functionremoveXSS($data)
{
require_once'./HtmlPurifier/HTMLPurifier.auto.php';
$_clean_xss_config= HTMLPurifier_Config::createDefault();
$_clean_xss_config->set('Core.Encoding','UTF-8');
// 设置保留的标签
$_clean_xss_config->set('HTML.Allowed','div,b,strong,i,em,a[href|title],ul,ol,li,p[style],br,span[style],img[width|height|alt|src]');
$_clean_xss_config->set('CSS.AllowedProperties','font,font-size,font-weight,font-style,font-family,text-decoration,padding-left,color,background-color,text-align');
$_clean_xss_config->set('HTML.TargetBlank',TRUE);
$_clean_xss_obj=newHTMLPurifier($_clean_xss_config);
// 执行过滤
return$_clean_xss_obj->purify($data);
}