【发布时间】:2011-09-01 09:24:49
【问题描述】:
您如何处理公众投票(任何人都可以“喜欢或不喜欢”一篇文章)并限制他只能投票一次?
我必须使用 cookie 吗? (问题是他可以删除cookie并投票x999次)还是我将他的IP存储在数据库中?
【问题讨论】:
标签: javascript social-media-like
您如何处理公众投票(任何人都可以“喜欢或不喜欢”一篇文章)并限制他只能投票一次?
我必须使用 cookie 吗? (问题是他可以删除cookie并投票x999次)还是我将他的IP存储在数据库中?
【问题讨论】:
标签: javascript social-media-like
解决方案分为三个部分:
只使用 IP 是不合适的,因为它会使很多人退出投票系统。
【讨论】:
使用 IP。
虽然您可能会导致一群人只从一个 IP 后面投票一次,但替代方案很容易绕过(不要存储 cookie)。
【讨论】:
我会说两者都做,如果有人拥有动态 IP,他们将不得不同时更改 IP 和删除 cookie。
【讨论】:
如果用户进行身份验证,即他们以自己的身份投票,则在数据库中抛出一条记录,说明用户已经投票。对于匿名选民,您仅限于使用 cookie、本地存储等。
【讨论】:
可以使用 evercookie 代替 cookie,这更难(但仍然可能)绕过。
evercookie 是一个 javascript API 可产生极 浏览器中的持久性 cookie。它的 目标是识别客户,甚至 在他们删除标准之后 cookie、Flash cookie(本地共享 对象或 LSO)等。
【讨论】: