如何防止织梦自定义表单重复提交多次,恶意提交
织梦自定义表单重复提交多次
代码如下
打开织梦后台根目录plus文件夹下diy.php文件(可以用DW编辑)
找到
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,'/');
}
当然以上的方法能够防止一个ip用户多次提交,但是这个ip用户清除浏览器cookie后依然能够继续提交,这个是避免不了的。如果想给一个ip多次提交的权限,小冬seo还在网上看到了这样的方法,到底实用不实用,你们自己测试:
打开织梦后台根目录plus文件夹下diy.php文件(可以用DW编辑)
找到
if(!is_array($diyform))
{
showmsg('自定义表单不存在', '-1');
exit();
}
再其下添加:
//判断ip,限制预约次数
$intime = date('Y-m-d');
$row_ip = $dsql->getOne("SELECt count(*) as dd FROM `dede_xxxx` WHERe ip like '%{$ip}%' and date like '%{$intime}%'");
if($row_ip['dd'] >= 3) {
echo "<script>alert('您今天的次数已经到达上限,欢迎明天前来!'); window.location.href=''";
exit();
}