2

我将使用Flask微框架(基于Werkzeug,我将使用 Python 2.7 或 2.6)来制作游戏网站。

我希望允许用户对游戏进行投票(简单的 1-5 星),并跟踪每个游戏页面的独特访问次数 - 这样我就可以根据游戏的得分/受欢迎程度动态排序游戏链接。

目前,我计划使用客户端的远程地址(通过此属性:http ://werkzeug.pocoo.org/documentation/dev/wrappers.html#werkzeug.BaseRequest.remote_addr )通过存储所有 ip 地址来测试唯一性已经投票/访问过游戏,因此他们不能再次投票,并且他们的访问只会被记录一次。

对于投票:重要的是用户不必登录。


这是解决这个问题的好方法吗,它的优点/缺点是什么?

或者你能想出更好的解决方案吗?框架中是否有内置方法来处理您知道的这些任务?


非常感谢您的帮助,非常感谢:-)

乔纳森

4

2 回答 2

5

在我看来,使用 IP 地址不是正确的方法。

  1. 许多大学、校园、酒店、宿舍和办公室使用单个或小块 IP 范围。这意味着在其中一个环境中只有一个人可以投票。因此,如果你的宿舍楼里有 3,000 个孩子,他们都通过 NAT 使用一个 IP,那么只有一个幸运的人可以投票。
  2. IP 地址发生变化。任何坚持投票不止一次的人通常可以重新启动设备或进入路由器管理并租用不同的 IP。

如果不需要登录,我建议使用 cookie。是的 - 可以清除 cookie,但如果您绝对必须,还有其他更永久的方式来存储 cookie。但是,在许多情况下,我认为一个有效期为 10 年的通用 cookie 就可以了。

于 2010-12-18T01:45:37.047 回答
1

生成一个 GUID 并放入evercookie

于 2010-12-18T01:45:06.170 回答