我们在使用织梦建站的时候会经常碰到织梦dedecms自定义表单功能,方便我们做网站的在线留言,在线下单,在线报名等订单信息提交,我们也发布了( 织梦自定义表单教程 ) 不懂的朋友可以点击看看。但是用户可以无限制重复提交,这样就给网站带来非常高的维护成本,为了防止恶意提交,下面就告诉大家如何设置每个用户24小时内只能提交一次自定义表单:

首先我们打开/plus/diy.php文件,在里面找到如下代码:
 

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的话还是可以提交的。

 

本文地址:http://www.pcmoban.com/tech/dedecms_aq/2017/0914/3280.html