pbootcms如何放开特殊字符的限制

pbootcms出于安全考虑会对一些特殊字符做限制,例如“/”。但是客户的产品中又会出现大量的尺寸标题例如:6FT 3/4-Inch Electrical A/C Whip Kit;对应的人群也是习惯用6FT 3/4-Inch类似这样的搜索词进行搜索。所以需要放开对“/”的限制,看过代码后发现系统是以白名单的形式。也就是在名单中就可以识别,不在就会提示错误

路径

1
core/function/helper.php

搜索’vars’

1
2
3
4
5
case 'vars':
if (! preg_match('/^[\x{4e00}-\x{9fa5}\w\-\.,\s]+$/u', $data)) {
$err = '只能包含中文、字母、数字、横线、点、逗号、空格!';
}
break;

可以在里面添加/

1
2
3
4
5
case 'vars':
if (! preg_match('/^[\x{4e00}-\x{9fa5}\w\-\.,\s\/]+$/u', $data)) {
$err = '只能包含中文、字母、数字、横线、点、逗号、空格和斜杠!';
}
break;

再添加~和_

1
2
3
4
5
case 'vars':
if (! preg_match('/^[\x{4e00}-\x{9fa5}\w-.,\s\/~_]+$/u', $data)) {
$err = '只能包含中文、字母、数字、横线、点、逗号、空格、斜杠、波浪线和下划线!';
}
break;