【fastadmin安全篇】设置全局 HtmlPurifier 安全过滤

首先下载HtmlPurifier 链接:https://github.com/ezyang/htmlpurifier
解压把文件放到
image.png
打开文件

vendor/HtmlPurifier/library/HTMLPurifier.auto.php

修改代码为

<?php

namespace think;
class xssFilter{

    public function __construct()
    {
        /**
         * This is a stub include that automatically configures the include path.
         */
        
        set_include_path(dirname(__FILE__) . PATH_SEPARATOR . get_include_path() );
        require_once '../../vendor/HtmlPurifier/library/HTMLPurifier/Bootstrap.php';
        require_once '../../vendor/HtmlPurifier/library/HTMLPurifier.autoload.php';
        
        // vim: et sw=4 sts=4
    }    
}

打开

application/common/behavior/Common.php

最上方引入

use think\xssFilter;

在最后加入

/*
 * xss安全过滤
 */
    function wholeXssFilter($string) {
        $xssfilter=new xssFilter();
        $config = \HTMLPurifier_Config::createDefault();
        $purifier = new \HTMLPurifier($config);
        $clean_html = $purifier->purify($string);
        return $clean_html;
    } 

image.png
然后打开application/config.php
大约47行的位置

    // 默认全局过滤方法 用逗号分隔多个
    'default_filter'         => 'wholeXssFilter,htmlspecialchars',

image.png

4 条评论

发布
问题