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

没有口水与汗水,就没有成功的泪水。早安!有时,我们以为赢了,其实,我们输了!因为,我们赢了"面子",却输了"里子"!早安!

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

今天余斗就来告诉大家如何设置每个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,'/');
	        }

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

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

到此这篇关于DedeCMS限制自定义表单24小时只能提交一次的方法就介绍到这了。人可以被打败,但不可以被打倒。心中有光,任何外来不利因素都扑灭对人生的追求和对未来的向往。很多时候,击败我们的不是别人而是我们对自己失去信心,熄灭了心中那片有如火山一般沉寂的光。只要心中有光,在第一百次被打倒后,就会第一百零一次高中生作文起来,并用不屈的毅力和信念赢得未来。更多相关DedeCMS限制自定义表单24小时只能提交一次的方法内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

标签: DedeCMS