织梦dedecms有自定义表单提交功能,这个很方便我们开发一些小功能,例如在线报名,提交订单以及挂号等功能,361源码前面给大家介绍过这样的实例,没看过的朋友可以参看《织梦dedecms建立留言系统及在线报名系统实例》做下了解。
但是总有些比较恶意的用户不厌其烦的无限制重复提交,我们也实在没有办法,哎,这样就给网站带来非常高的维护成本,下面361源码想了些办法帮大家来解决这样的一个小问题,让每个用户24小时内只能提交一次自定义表单,实现办法如下:
1、首先我们打开/plus/diy.php文件,在里面找到如下代码:
if(!is_array($diyform)) { showmsg('自定义表单不存在', '-1'); exit(); }
在其下面添加如下代码:
//检测游客是否已经提交过表单 by 361源码网www.vevb.com 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,'/'); }
添加完成后保存覆盖原来的diy.php文件就可以了,此方法是通过验证cookie的方式防止用户重复提交,如果用户清除cookie的话还是可以提交的。但是这样的方法对于普通的无聊用户还是有比较理想的效果的。如果哪位大神还有其他办法可以联系本站客服完善限制方法,造福更多草根站长。谢谢。
以上就是DedeCMS自定义表单限制每个IP24小时只能提交一次的全部内容,希望对大家的学习和解决疑问有所帮助,也希望大家多多支持武林网。新闻热点
疑难解答