美文网首页
PHP投票 每天只能投票一次

PHP投票 每天只能投票一次

作者: 搬砖家 | 来源:发表于2016-05-10 11:32 被阅读2067次

    目前为止还没有一种方法能完全避免网上重复投票
    如果记录ip,一般ADSL断网再连ip就变了设置cookie,浏览器都有禁用或者清除cookie的功能设置session,关闭浏览器就没了所以,我们只能尽量防止重复投票现象

    PHP投票 24小时内只能投票一次

    session_start();//获取ip地址
    if(!empty($_SERVER["HTTP_CLIENT_IP"])){
    $cip = $_SERVER["HTTP_CLIENT_IP"];
    }
    if(($_COOKIE['VoteIP']==$cip) or ($_SESSION['VoteIP']==$cip)){
    //拒绝投票
    }
    //记录到cookie中
    SetCookie("VoteIP", $cip, time()+3600*24);//3600秒=1小时 过期时间为24小时
    
    //记录到session中
    $_SESSION['VoteIP']=$cip;
    
    //设置session存活时间
    $lifeTime = 24 * 3600; 
    session_set_cookie_params($lifeTime);
    

    PHP投票 每天投票一次

    if(!empty($_SERVER["HTTP_CLIENT_IP"])){
      $cip = $_SERVER["HTTP_CLIENT_IP"];
    }
    //获取当前时间
    $date=date('y:m:d');
    //以数组形式存入session
    $info = array('ip'=>$cip,'time'=>$date);
    //取出
    $_SESSION['voteip'] = $info;
    $arr = $_SESSION['voteip'];
    //取出储存的日期
    $t1 = strtotime($arr['time']);
    //取出当前日期
    $t2 = strtotime(date('y:m:d'));
    //计算当前相差天数
    $t = $t2 - $t1;
    echo (int)($t / 86400);
    //判断是否大于一天
    if($t>=1){
    //允许投票
    }else{
    //拒绝
    }
    ?>
    

    相关文章

      网友评论

          本文标题:PHP投票 每天只能投票一次

          本文链接:https://www.haomeiwen.com/subject/emcyrttx.html