2

我编写了一个 .NET/jQuery 评级脚本,允许用户对特定产品进行评级。

访问该网站的每个人都可以评分,但我希望每个访问者只允许 1 个评分。

到目前为止,我已经考虑了以下选项。

1:存储用户IP地址,每个IP只允许1次提交。

当然,这意味着公司局域网、网吧、公共 Wi-Fi 等上的人将无法在其他人从同一地点投票后投票。

2:投票后,在他们的浏览器中创建一个cookie,表明他们已经投票。

这也不是一个好的解决方案,因为使用隐私浏览的人可以随意多次投票,或者更高级的用户会清除他们的 cookie 并一遍又一遍地提交投票。

那么,这可能吗?

4

3 回答 3

1

大多数网站都使用 cookie。

虽然确实有些用户可以投票不止一次,但你需要问问自己,你将拥有多少高级用户,其中有多少人会真正关心。

关于 cookie - 没有什么能阻止同一个人在同一台计算机上使用另一个浏览器,转到另一台计算机(这也可能会破坏 IP 方案)等。

为确保每个用户的单次投票在投票前每次登录 - 如果您有办法防止每个用户多次登录,那么将它们限制为单次投票应该很容易。

于 2010-08-08T07:15:56.200 回答
1

未注册用户没有好的解决方案,你可以使用 ip 和用户代理组合,但最好的解决方案仍然是使用他们的用户 id,也就是说访问者必须先在你的网站上注册。

于 2010-08-08T07:22:53.127 回答
1

我说你可以检查计算机是否接受 Cookies。如果不接受cookies,不要让他投票。

其次,您可以检查每个选民看到了多少页

以及一票与另一票在时间上有多接近。

现在尝试进行多次投票的人,来自同一个 ip,最多看到 2 页,在一个排序时间内投票多次,并且可能不接受 cookie。

我说了这么多,即使我同意奥德的说法。

于 2010-08-08T07:23:33.763 回答