2

我有一些问题要解决。我创建了一个网站。网站的成员有他们自己的页面(如博客),如果有人在他们的(A)页面停留超过一分钟,他们(A)可以获得一些积分。到这个时候,他们可以买东西了。所以从根本上说,会员(A)应该宣传他们的(A)页面,但有些会员试图用消极的方式来赚取积分。喜欢更改IP并继续访问自己的页面。

这是我正在使用的当前方式

  1. 我做了网站检查ip并在一分钟后将其存储在数据库中。
  2. 然后我每次访问页面时都会比较ips。
  3. 如果距离上次访问已过去 24 小时,我允许会员再次获得积分
  4. 但是有些人发现了这一点,并不断更改他们的 IP 并访问他们自己的页面。

  5. 我想到的其他方法是使用 cookie。

  6. 但问题是当使用cookie时,cookie会在页面被访问时立即设置。
  7. 因此,如果访问者访问该页面 30 秒,则可以在访问者再次访问一分钟后随时获得积分,但使用 cookie 这不起作用..

所以我想问的是,

有没有办法在访问者访问网站一分钟后设置 cookie?如果没有,有没有什么绝妙的方法可以防止人们改变他们的 IP?

4

1 回答 1

1

您无法控制用户的 IP,因此您需要跟踪他们。

您在访问时立即设置一个 cookie,并且在 cookie 中您可以存储访问的日期和时间。每次用户访问您的网站时,请阅读 cookie 并检查它是否包含一分钟之前的时间,然后记入该网站。然后,您可以在此 cookie 中设置其他内容,以标记此用户已获得信用。或者,更好的是,使用 $_SESSION 来存储相同的东西,因为如果用户闲置一段时间,SESSION 对象就会过期。无论如何,SESSION 通常都依赖于 cookie(因此消息的下一部分仍然成立)。

现在,如果用户删除了他的 cookie 怎么办?你有同样的问题。

因此,您可能应该采用一些更晦涩的方式来跟踪您的用户。可能性:浏览器指纹识别(服务器端)、flash cookie、html5 本地存储(客户端)。一个用户可以使用多个浏览器,但一台计算机上只能安装这么多浏览器。你可以研究这些术语,你会发现很多材料。您也可以混合使用这些技术,并在它们之上添加 IP 检查......但这需要一些开发时间......

于 2013-05-11T12:55:27.437 回答