为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go PHP C
Helenr 2019-06-24 17:14:14
PHP如何设置COOKIE只能一个人投票一次
查看完整描述

6 回答

?
动漫人物

TA贡献1815条经验 获得超10个赞

至少我认为目前为止还没有一种方法能完全避免网上重复投票的
如果记录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);



查看完整回答
反对 回复 2019-06-29
?
FFIVE

TA贡献1797条经验 获得超6个赞

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

查看完整回答
反对 回复 2019-06-29
?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

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

查看完整回答
反对 回复 2019-06-29
?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

可以用cookie 当用户登录把它记录下来 cookie只是设置为24小时 要是没过24小时 他投票就不能大于5


查看完整回答
反对 回复 2019-06-29
?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

个人经验
至少我认为目前为止还没有一种方法能完全避免网上重复投票的
如果记录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);




查看完整回答
反对 回复 2019-06-29
  • 6 回答
  • 0 关注
  • 1141 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信