【问题标题】:Remember visitor PHP [closed]记住访问者 PHP [关闭]
【发布时间】:2014-04-28 17:42:57
【问题描述】:

我开发网站并希望记住访问者已经像 website 这样为我的网站投票。

经过我的研究,evercookie是一种记住访客的方法。

在他们保护的网站中,他们只能对歌曲进行投票,即使他们清除标准 cookie,使用其他浏览器...

问题:除了evercookie还有其他方法可以记住吗?

【问题讨论】:

  • evercookie,更像是诉讼cookie。坏、坏、坏的做法往往会迅速传播。
  • 它的目标是识别客户,即使他们已经删除了标准 cookie、Flash cookie(本地共享对象或 LSO)等。 销售假伟哥之类的东西?
  • 没有办法阻止人们多次投票。如果有人想这样做,他可以绕过你试图阻止的一切。
  • @Gerald Schneider,即使您删除标准cookie或使用不同的浏览器投票,该网站也只允许一首歌一次
  • @ChandaraSam 我刚刚使用 tor 为同一个条目多次投票。

标签: javascript php evercookie


【解决方案1】:

一个简单的方法,存储一个会话变量。
在页面顶部:

<?php
session_start();
$_SESSION['hasVoted'] = "No";
?>

然后在你的代码中:

<?php
   if( $_SESSION['hasVoted'] == "No")
     {
        $_SESSION['hasVoted'] = "Yes"; 

        //Here goes youre code for submitting the vote.
     }
?>

缺点:当会话丢失时,用户可以再次投票。
另一种方法是使用数据库来存储用户的 IP 地址。

使用$_SERVER['REMOTE_ADDR'],您可以获得观众的 IP 地址并将其存储在您的数据库中。

希望这会有所帮助。

【讨论】:

  • $_SERVER['REMOTE_ADDR'] 即使在不同的计算机上也能在同一网络上显示相同的 IP
  • 是的,它们有一个缺点,但如果您想避免使用 cookie,那么这些是一种解决方法。
  • 你也可以强制人们先创建一个帐户
  • 让访客友好,只需投票,无需他们注册
  • 那么你应该使用 cookie,但是,如果他们清除所有浏览器数据和 cookie。他们可以再次投票。没有登录就很难注册,因为我们无法从计算机上获取 Mac 地址。我建议你使用会话。如果上面的答案是你要找的,请标记为答案
猜你喜欢
  • 2012-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-05
  • 1970-01-01
  • 2013-03-18
  • 1970-01-01
  • 2019-06-25
相关资源
最近更新 更多