【发布时间】:2014-01-10 14:02:18
【问题描述】:
我目前正在使用 Redis 来存储每次加载页面时的查看次数。它工作得很好,但我唯一担心的是它会被滥用。当用户登录我的网站时,查看计数器只会在他们尚未查看线程(同样,由 Redis 跟踪)时更新,从而消除滥用行为。
我的问题在于我没有帐户的用户。如果我让每次加载页面时更新查看次数,如果有人创建了一些内容,他们可以注销并刷新页面,只要他们想要增加查看次数即可。我的第一个想法是通过会话 cookie 识别每个非帐户用户(我已经跟踪通过会话 cookie 登录的用户),但如果有人清除了该 cookie,它将再次变得无用。另一个想法是 IP 地址,但通过动态 IP 地址也不太可靠。
所以我的问题是,跟踪来自未知用户的观看次数最可靠的方法是什么?
【问题讨论】:
-
您可以根据用户 ip / login 生成 cookie。这样,经过身份验证的用户将始终拥有相同的 cookie。如果某个 ip 地址 md5(salt + user|anon + ip) 后面有多个用户,您可能会丢失一些用户
-
是的,这似乎是简单性的最佳权衡。谢谢!
标签: python cookies redis counter