织梦DedeCMS有自定义表单提交功能,这个很方便开发一些例如报名,提交订单以及挂号的功能,但是用户可以无限制重复提交,这样就给网站带来非常高的维护成本,下面就告诉大伙如何设置每个用户24小时内只能提交一次自定义表单:
首先打开/plus/diy.php文件,在里面找到如下代码:
1
if(!is_array($diyform)) { showmsg(自定义表单不存在, -1); exit(); }在其下面添加如下代码:查看源码打印代码帮助//检测游客是否已经提交过表单 if(isset($_COOKIE[VOTE_MEMBER_IP])){ if($_COOKIE[VOTE_MEMBER_IP] == $_SERVER[REMOTE_ADDR]) { ShowMsg(NI已经填写过表单啦,-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的话还是可以提交的。