ShopWind电商系统如发现在产品搜索中输入含html,js标签引起的报错或者异常,可以尝试用以下方法修复。
此错误是因为未能完整过滤表单数据引起,存在安全隐患。
修复方案:
1、打开用vscode工具shopwind目录,执行 composer require ezyang/htmlpurifier
D:\wwwroot\shopwind>composer require ezyang/htmlpurifier
2、打开shopwind\common\library\Basewind.php文件,引入组件并修改trimAll函数
//头部引入
use yii\helpers\HtmlPurifier;
//修改trimAll函数
public static function trimAll($params = null, $toObject = false, $intvalFields = array())
{
if (!is_array($params)) {
if ($intvalFields === true) {
return intval($params);
} elseif (is_null($params) && $toObject == true) {
return (object) $params;
}
return HtmlPurifier::process(trim($params));
}
foreach ($params as $k => $v) {
if (is_string($v)) {
$params[$k] = in_array($k, $intvalFields) ? intval($v) : HtmlPurifier::process(trim($v));
} elseif (is_array($v) || is_object($v)) {
$params[$k] = self::trimAll($v, $toObject);
}
}
return $toObject ? (object)$params : $params;
}
如执行不了composer或者修复不了可以联系官方客服协助处理。 微信号: shopwind