设为首页 - 加入收藏
您的当前位置:主页 > CMS教程 > 织梦CMS > 正文

织梦CMS限制自定义表单24小时只能提交一次的方法

来源:网络收集 点击数: 时间:2018-01-29

我们经常遇到被人恶意提交表单,一个小时内疯狂提交了500个,因为做了织梦CMS自定义表单提交后发送指定QQ邮箱,当天手机被轰炸个不听,QQ邮箱一直在那提示消息,这也算是给我一个警示,一定要做个每个漏洞的修复。

今天A3站长就来告诉大家如何设置每个IP24小时内只能提交一次表单:

打开/plus/diy.php文件,在里面找到如下代码(大概在第51行):


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

在下面加上代码:


  //检测游客是否已经提交过表单
                if(isset($_COOKIE['VOTE_MEMBER_IP']))
                {
                        if($_COOKIE['VOTE_MEMBER_IP'] == $_SERVER['REMOTE_ADDR'])
                        {
                                ShowMsg('您已经填写过表单啦','-1');
                                exit();
                        } else {
                                setcookie('VOTE_MEMBER_IP',$_SERVER['REMOTE_ADDR'],time()*$row['spec']*3600,'/');
                        }
                } else {
                        setcookie('VOTE_MEMBER_IP',$_SERVER['REMOTE_ADDR'],time()*$row['spec']*3600,'/');
                }

再到前台测试,会发现提交一次表单后,再提交就会提示:

织梦CMS限制自定义表单24小时只能提交一次的方法

当然,因为此方法是通过验证cookie的方式防止用户重复提交,如果用户清除cookie的话还是可以提交的,算是暂时性的解决了A3站长的问题。

栏目分类

A3站长网 站长网 站长网技术网 站长教程网 织梦CMS教程 织梦模板 帝国CMS模板 联系QQ:26991496 邮箱:26991496@qq.com

A3站长网:欢迎您!谢谢您的访问...

Top