织梦搜索经常会后台看到这个搜索提交的广告和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(); }
带来的价值如下
可以防止通过搜索入口,来发布广告和写入特殊字符,给网站少些麻烦,多些真实数据
织梦二次开发QQ群
本站客服QQ号:862782808(点击左边QQ号交流),群号(383578617) 如果您有任何织梦问题,请把问题发到群里,阁主将为您写解决教程!
转载请注明: 织梦模板 » 提高织梦搜索本身的安全过滤级别,减少广告植入