我编写了一个.NET / jQuery评级脚本,允许用户对特定产品进行评级。
访问该网站的每个人都可以评分,但我想每位访问者只允许1个评分。
到目前为止,我已经考虑了以下选项。
1:存储用户的IP地址,每个IP只允许1次提交。
当然,这意味着公司局域网,网吧,公共Wi-Fi上的人们 并且在其他人来自同一地点后,将无法投票。
2:投票后,在浏览器中创建一个Cookie,表明他们已投票。
这也不是一个好的解决方案,因为使用私人浏览的人可以根据自己的喜好进行多次投票,或者更高级的用户会清除他们的Cookie并不断提交投票。
那么,这可能吗?
答案 0 :(得分:1)
Cookie是大多数网站使用的。
虽然有些用户确实可以投票多次,但您需要问自己,您将拥有多少高级用户,以及有多少用户真正关心。
关于cookie - 没有什么能阻止同一个人在同一台计算机上使用另一个浏览器,去另一台计算机(也可能会破坏IP方案)等。
为确保每位用户在投票前进行单次投票 - 如果您有办法阻止每个用户进行多次登录,则将其限制为单一投票应该很容易。
答案 1 :(得分:1)
对于未注册用户没有好的解决方案,您可以使用ip和用户代理组合,但最好的解决方案是使用他们的用户ID,换句话说,访问者必须首先在您的网站上注册。
答案 2 :(得分:1)
我说你可以检查电脑是否接受Cookies。如果不接受cookie,请不要让他投票。
其次,您可以查看每个选民看的多页。
一次投票与另一次投票的距离有多接近。
现在,尝试进行多次投票的人,来自同一个IP,最多2页,在排序时间内多次投票,并且可能不接受cookie。
我说了这一切,即使我同意Oded的说法。