使用ip地址跟踪访问者,有没有更好的方法? (使用 Flask 微框架)
Posted
技术标签:
【中文标题】使用ip地址跟踪访问者,有没有更好的方法? (使用 Flask 微框架)【英文标题】:Using ip address to track visitors, is there a better way? (using Flask micro-framework) 【发布时间】:2011-05-27 10:37:36 【问题描述】:我将使用Flask 微框架(基于Werkzeug,我将使用 Python 2.7 或 2.6)来制作游戏网站。
我想让用户对游戏进行投票(简单的 1-5 星),并跟踪每个游戏页面的独立访问次数 - 这样我就可以根据他们的分数动态排序游戏链接/受欢迎程度。
目前我计划使用客户端的远程地址(通过此属性:http://werkzeug.pocoo.org/documentation/dev/wrappers.html#werkzeug.BaseRequest.remote_addr)来测试唯一性,方法是存储所有已投票/访问过游戏的 IP 地址,以便他们无法再次投票,以及他们的访问只记录一次。
对于投票:重要的是用户不必登录。
这是解决这个问题的好方法吗,它的优点/缺点是什么?
或者你能想出更好的解决方案吗?框架中是否有内置方法来处理您知道的这些任务?
非常感谢您的帮助,非常感谢:-)
乔纳森
【问题讨论】:
【参考方案1】:在我看来,使用 IP 地址不是正确的方法。
-
许多大学、校园、酒店、宿舍和办公室使用单个或小块 IP 范围。这意味着在其中一个环境中只有一个人可以投票。因此,如果你的宿舍楼里有 3000 名孩子,他们都通过 NAT 使用一个 IP,那么只有一个幸运的人可以投票。
IP 地址更改。任何坚持投票不止一次的人通常可以重启设备或进入路由器管理并租用不同的 IP。
如果不需要登录,我建议使用 cookie。是的 - 可以清除 cookie,但如果您绝对必须,还有其他更多 permanent 存储 cookie 的方法。但是,在许多情况下,我认为有效期为 10 年的通用 cookie 可以正常工作。
【讨论】:
哇,我没想到 cookie 会成为答案,谢谢您的建议。现在更清楚为什么 IP 地址会是错误的路径,但是您真的认为标准 cookie 就足够了吗?此外,您知道的 evercookies 是否存在任何隐私或问题/间谍机器人问题?谢谢 我认为标准 cookie 就足够有效了。有很多关于 Evercookie 的隐私投诉。就个人而言,他们不会太打扰我。由您决定您希望您的解决方案有多“有效”。我认为 cookie 的一般用途已经足够了。 是的,我认为你是对的。我最初会尝试使用标准 cookie,只有当我发现它太松散(就唯一投票而言)时才会考虑更改系统。【参考方案2】:生成一个 GUID 并输入evercookie
【讨论】:
感谢您的链接和提示 :)以上是关于使用ip地址跟踪访问者,有没有更好的方法? (使用 Flask 微框架)的主要内容,如果未能解决你的问题,请参考以下文章
获取任何支持图像重定向(如***)的html页面的访问者的IP地址和浏览器代码
LogParser 查询仅从 IIS 日志中获取外部 IP 地址?