信息发布 信息热搜: 教程  首页  区别 
收藏  |   举报 2020-09-14 15:28   关注:30   回答:0

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

已关闭 悬赏分:0
   我们在制作企业站或者是其他站时,使用织梦系统建站,可以制作留言功能,但是小编就遇到一个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();
}
0相关评论
网站首页  |  关于我们  |  联系方式  |  注册指南  |  代发信息服务  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  苏ICP备17041884号-2


知道信息发布网站微信公众号:哪些网站可以免费发信息关注公众号即可,招聘免费发布信息平台