使用ip地址跟踪访问者,有没有更好的方法?(使用 Flask 微框架)

Jon*_*Cox 1 python ip-address werkzeug flask web

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

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

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

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


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

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


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

乔纳森

vcs*_*nes 5

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

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

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