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

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

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

PHP
天涯尽头无女友 2019-07-09 05:04:10
请问PHP如何设置COOKIE只能一个人投票一次?
查看完整描述

6 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

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

TA贡献1818条经验 获得超11个赞


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


查看完整回答
反对 回复 2019-07-10
?
catspeake

TA贡献1111条经验 获得超0个赞

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

查看完整回答
反对 回复 2019-07-10
?
回首忆惘然

TA贡献1847条经验 获得超11个赞


方法一:根据用户IP
缺点:有可能是不同的用户使用同一台电脑,这样就限制了同一天内其它用户的投票次数。

方法二:根据用户ID
缺点:网站数据库必须有用户IP资料,用户必须注册才能投票。多数想投票的用户会觉得麻烦而放弃投票。另外,同一个用户完全可以注册不用的帐户多次投票。

方法三:根据用户端的cookie
缺点用“方法一”


查看完整回答
反对 回复 2019-07-10
?
米琪卡哇伊

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

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

查看完整回答
反对 回复 2019-07-10
?
慕村225694

TA贡献1880条经验 获得超4个赞


至少我认为目前为止还没有一种方法能完全避免网上重复投票的
如果记录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-07-10
  • 6 回答
  • 0 关注
  • 369 浏览

添加回答

举报

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