PHP如何设置COOKIE只能一个人投票一次

2025-01-01 20:15:08
推荐回答(3个)
回答1:

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

方法介绍几种

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);

回答2:

set_cookie('cookie名称',内容,时间);
if(isset($_COOKIE['cookie名称'])){
echo "你已经投过票,请勿重复"
}else{
echo " 感觉您的投票";
}

回答3:

$is=isset($_COOKIE['is']);
if($is)die('你已经透过了')
else setcookie('is','1',time()+864000);