25 12 2019

织梦DEDECMS自定义表单怎么过滤垃圾信息

最近维护的某个织梦搭建的网站中的自定义表单被英文垃圾留言一通灌水,着实让人头疼,本来想着加个验证码,但这个是企业站,加上验证码怕有些客户麻烦,会懒得提交信息,所以从网上找到一个办法,通过Cookies来验证客户端的提交次数,限制24小时或者某一时间段内只能发布一次内容,方法如下:

找到plus文件夹下的diy.php文件,在该文件中找到以下代码:

1if(!is_array($diyform))
2        {
3            showmsg('自定义表单不存在''-1');
4            exit();
5        }

在该代码下添加如下代码:

01if(isset($_COOKIE['VOTE_MEMBER_IP']))
02    {
03        if($_COOKIE['VOTE_MEMBER_IP'] == $_SERVER['REMOTE_ADDR'])
04        {
05            ShowMsg('您已经填写过表单啦','-1');
06            exit();
07        }
08        else
09        {
10            setcookie('VOTE_MEMBER_IP',$_SERVER['REMOTE_ADDR'],time()*$row['spec']*3600,'/');
11        }
12    }
13    else
14    {
15        setcookie('VOTE_MEMBER_IP',$_SERVER['REMOTE_ADDR'],time()*$row['spec']*3600,'/');
16    }

然后保存文件替换原来的就可以了,可以把3600替换为任意时间,但这个代码只可以从Cookies上防止灌水,如果别人采用清空Cookies的方法再次提交,这个就没用了,不过一般可以防止大部分的垃圾信息灌水,差不多够用了。


发表评论:

验证码(*) 验证码

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。