代码之家  ›  专栏  ›  技术社区  ›  Marko

公共评级脚本,允许每个访问者提交1份

  •  2
  • Marko  · 技术社区  · 14 年前

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

    每个访问该网站的人都可以打分,但我只允许每个访问者打分一次。

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

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

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

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

    这也不是一个很好的解决方案,因为使用隐私浏览的人可以根据自己的喜好进行多次投票,或者一个更高级的用户将清除他们的cookie并不断提交一次又一次的投票。

    那么,这有可能吗?

    3 回复  |  直到 10 年前
        1
  •  1
  •   Oded    14 年前

    大多数网站都使用cookie。

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

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

    为了确保每个用户在投票前都有一个登录名——如果您有一种方法可以防止每个用户有多个登录名,那么将其限制为一个投票应该很容易。

        2
  •  1
  •   Maksim Vi.    14 年前

    对于未注册的用户没有很好的解决方案,您可以使用IP和用户代理组合,但最好的解决方案还是使用他们的用户ID,换句话说,访问者必须先在您的网站上注册。

        3
  •  1
  •   Aristos    14 年前

    我说你可以检查电脑是否接受cookies。如果不接受饼干,不要让他投票。

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

    一次投票和另一次投票有多接近。

    现在,那些试图通过同一个IP进行多次投票的人,最多可以看到2页,在排序时间内多次投票,可能不接受cookie。

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