类别:技术杂谈 / 日期:2019-12-25 / 浏览:1600 / 评论:0

最近维护的某个织梦搭建的网站中的自定义表单被英文垃圾留言一通灌水,着实让人头疼,本来想着加个验证码,但这个是企业站,加上验证码怕有些客户麻烦,会懒得提交信息,所以从网上找到一个办法,通过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的方法再次提交,这个就没用了,不过一般可以防止大部分的垃圾信息灌水,差不多够用了。

打赏

感谢您的赞助~

打开微信扫一扫,即可进行扫码打赏哦~

版权声明 : 本文使用「署名-非商业性使用-相同方式共享 4.0 国际」创作共享协议,转载或使用请遵守署名协议。

 可能感兴趣的文章

评论区

发表评论 / 取消回复

必填

选填

选填

◎欢迎讨论,请在这里发表您的看法及观点。