
在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, LeCMS, ClassCMS, Fastadmin, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。


