欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

投票系统 有人刷票 求大神帮忙解决解决方案

程序员文章站 2022-05-29 15:29:23
...
投票系统 有人刷票 求大神帮忙解决
本帖最后由 u010603569 于 2013-06-21 08:55:59 编辑
我这投票是一个IP地址在一个小时只能只能对一个ID投一票,但是那些刷票机器为什么能绕过一个小时,同一个IP能在一个小时之内不断的写入数据库,这点让我很不解,一个小时的时间限制完全对刷票机器不起作用,求大神帮忙解决,验证码很不友好,能不能有什么好方法解决这个问题
[size=36px][/size]

error_reporting(0);
session_start();
require_once 'config.php';
require_once COMMON_PATH.'Common.php';
$common = new Common();
date_default_timezone_set ('Asia/Shanghai');
$weil = strtotime("2013-08-07 23:59:59");
$now = time();
if($weil-$now echo 0;
exit;
}

$ip = $common->getClientIp();
$id = $_POST['id'];
$ipid=$ip.$id;
if($_SESSION['ipid']==$ipid||$_COOKIE['ipid']==$ipid){

//$array = array('48','49','67','47');
//if ( in_array($id,$array) ) {
echo 2;
} else {
$tbName = TB_NAME;
$limit_time = 3600;
$arr = $common->getItems('id,addTime','20130618_ztao_jtsjip','id','desc',"where tpId='$id' and ip='$ip'");
$row = false;
if (count($arr) > 0) {
$row = $arr[0];
}
if(!$row){
$common->insertItems('20130618_ztao_jtsjip','tpId,ip,addTime',"'$id','$ip','$now'");
$res = $common->updateItems("$tbName",'voteNum=voteNum+1',"$id");
$_SESSION['ipid']=$ipid;
setcookie("ipid","$ipid",time()+$limit_time);
if($res == true){
echo 1;//投票成功
}else{
echo 3;
}

}else if(($now-$row['addTime'])>$limit_time){
$common->insertItems('20130618_ztao_jtsjip','tpId,ip,addTime',"'$id','$ip','$now'");
$res = $common->updateItems("$tbName",'voteNum=voteNum+1',"$id");
$_SESSION['ipid']=$ipid;
setcookie("ipid","$ipid",time()+$limit_time);
if($res == true){
echo 1;
}else{
echo 3;
}
}else if(($now-$row['addTime']) echo 2;
}else{
echo 3;
}
}

?>


投票系统 PHP session

网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • 投票系统   有人刷票 求大神帮忙解决解决方案
  • 专题推荐

    作者信息
    投票系统   有人刷票 求大神帮忙解决解决方案

    认证0级讲师

    推荐视频教程
  • 投票系统   有人刷票 求大神帮忙解决解决方案javascript初级视频教程
  • 投票系统   有人刷票 求大神帮忙解决解决方案jquery 基础视频教程
  • 视频教程分类