已更新方法:
我们在制作企业站或者是其他站时,使用织梦系统建站,可以制作留言功能,但是小编就遇到一个ip下多次提交、重复提交、恶意提交表单的现象,然后小编在网上找了很多的解决办法,最终落实到以ip来判断用户,防止恶意提交,本人已经测试过了没有问题
织梦自定义表单重复提交多次
代码如下
打开织梦后台根目录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 "alert('您今天的次数已经到达上限,欢迎明天前来!'); window.location.href=''";
exit();
}
以上便是小冬seo为大家介绍的如何防止织梦自定义表单重复提交多次,恶意提交的seo教程方法,希望对你有用。