织梦搜索经常会后台看到这个搜索提交的广告和qq号什么的,但是有不规律,无法做到完全屏蔽,但发现可以使用正则匹配来解决这些问题

修改代码如下

打开plus/search.php文件 大约行数73行到77行

if($cfg_notallowstr !='' && preg_match("#".$cfg_notallowstr."#i", $keyword))
{
ShowMsg("你的搜索关键字中存在非法内容,被系统禁止!","-1");
exit();
}

添加如下代码

/*防止恶意添加输入不带http:网址url*/
if(preg_match('/w+([-.]w+)*.w+([-.]w+)*/i', $keyword)){
ShowMsg('禁止输入网址地址','-1');
exit();
}
/*防止恶意添加输入邮箱地址url*/
if(preg_match('/w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*/i', $keyword)){
ShowMsg('禁止输入邮箱地址','-1');
exit();
}
/*防止恶意添加手机广告的电话号码url*/
if(preg_match('/^w+$/i', $keyword)){
ShowMsg('禁止输入英文、数字、下划线组成特殊字符串','-1');
exit();
}
/*防止恶意添加手机广告的电话号码url*/
if(preg_match('/^(0|86|17951)?(13[0-9]|15[012356789]|166|17[3678]|18[0-9]|14[57])[0-9]{8}$/i',$keyword))
{
ShowMsg('禁止输入数字和手机号','-1');
exit();
}
/*防止恶意输入非法网址url*/
$guize= '/^(http|https|ftp):\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\’:+!]*([^<>\”])*$/';
if(preg_match($guize,$keyword))
{
ShowMsg('禁止输入网址地址','-1');
exit();
}


带来的价值如下

可以防止通过搜索入口,来发布广告和写入特殊字符,给网站少些麻烦,多些真实数据

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。