在FastAdmin
框架中有内置xss_clean
过滤函数,如果在使用xss_clean
不满足自己过滤的情况下,我们可以使用HTMLPurifier
过滤器来替换掉xss_clean
。
准备工作
首先确保你使用的FastAdmin
框架版本在1.3.0+
以上版本,1.3.0
以下的版本需要在命令行使用composer require ezyang/htmlpurifier
安装HTMLPurifier
依赖,1.3.0+
以上版本无需执行安装依赖命令。
修改文件
找到application/common.php
文件,大概第460
行的xss_clean
方法,在该方法前添加以下代码
/** * 清理XSS */function xss_clean($content, $is_image = false){ $config = HTMLPurifier_Config::createDefault(); $purifier = new HTMLPurifier($config); $clean_html = $purifier->purify($content); return $clean_html;}
添加后的代码截图如下:
注意这里添加的是xss_clean
同名函数,也就是放在原有xss_clean
函数定义之前。
使用方法
1、全局使用
全局使用需修改application/config.php
文件大概第47
行的default_filter
的值,修改为
// 默认全局过滤方法 用逗号分隔多个'default_filter' => 'xss_clean',
修改后如图:
2、单独使用
$content = $this->request->post("content", "", "trim,xss_clean");
单独使用时将忽略全局的过滤配置
温馨提示
更多HTMLPurifier
使用方法请参考文档:https://htmlpurifier.org/docs
希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, Fastadmin, ClassCMS, LeCMS, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。