小冬SEO

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

2019-07-12 19:17:52 3093 织梦二开

文章目录

已更新方法:

我们在制作企业站或者是其他站时,使用织梦系统建站,可以制作留言功能,但是小编就遇到一个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编辑发布,转载请保留链接: https://www.cdseoyh.cn/cms/27.html

小冬SEO 草根seoer,从事搜索引擎关键词优化,喜欢学习专研各类SEO优化技巧—小冬SEO博客
  • 138文章总数
  • 3094本页访问
  • 运营时间
  • 标签

    友情链接

      {dede:sql sql="select url,webname from dede_flink where typeid = (select id from dede_flinktype where typename=~typename~)"}
    • [field:webname/]
    • {/dede:sql}