feat:新增 clean_xss 的公共函数

This commit is contained in:
妙码生花 2023-08-02 15:42:46 +08:00
parent 9da48bb766
commit 5b03f2bcbb

View File

@ -8,6 +8,7 @@ use think\facade\Db;
use think\facade\Lang;
use think\facade\Event;
use think\facade\Config;
use voku\helper\AntiXSS;
use app\admin\model\Config as configModel;
use think\exception\HttpResponseException;
use Symfony\Component\HttpFoundation\IpUtils;
@ -34,7 +35,7 @@ if (!function_exists('filter')) {
/**
* 输入过滤
* 富文本反XSS请使用(new AntiXSS())->xss_clean()
* 富文本反XSS请使用 clean_xss也就不需要及不能再 filter
* @param string $string 要过滤的字符串
* @return string
*/
@ -51,6 +52,22 @@ if (!function_exists('filter')) {
}
}
if (!function_exists('clean_xss')) {
/**
* 清理XSS
* 通常只用于富文本,比 filter
* @param string $string
* @param bool $htmlspecialchars
* @return string
*/
function clean_xss(string $string, bool $htmlspecialchars = true): string
{
$string = (new AntiXSS())->xss_clean($string);
return $htmlspecialchars ? htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, 'UTF-8') : $string;
}
}
if (!function_exists('get_sys_config')) {
/**