如何防止织梦自定义表单重复提交多次,恶意提交 - 小冬SEO
当前位置:SEO优化教程网 > 织梦二开 > 正文

如何防止织梦自定义表单重复提交多次,恶意提交

2018-12-18 00:36:31 织梦二开 自定义表单 表单

  我们在制作企业站或者是其他站时,使用织梦系统建站,可以制作留言功能,但是小编就遇到一个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 "<script>alert('您今天的次数已经到达上限,欢迎明天前来!'); window.location.href=''";
    exit();
}

  以上便是小冬seo为大家介绍的如何防止织梦自定义表单重复提交多次,恶意提交的seo教程方法,希望对你有用。

版权保护: 本文由 - 小冬SEO 原创,转载请保留链接: http://www.cdseoyh.cn/cms/27.html