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

限制我们网站投票的最佳方式是什么?

  •  0
  • Jiri  · 技术社区  · 16 年前

    我们有网站的文章,用户可以投票。什么是限制投票的推荐方法?

    有这么多的网站已经实施投票,我知道一些可能的解决方案,但我想这是一些基本的 防弹的 基于会话、IP、时间限制等的推荐方法。

    从浏览器发送投票的最佳方式是什么?基本的GET/POST或AJAX请求?是否需要使用一些预生成的请求id?

    我们不能使用用户注册。

    6 回复  |  直到 16 年前
        1
  •  2
  •   Community CDub    4 年前

    [...] 防弹的 [...]

    Impossible.

    通过帐户进行限制将有所帮助-IP地址远不是动态的,而且很容易更改,以实现远程“安全”。当然,你必须限制账户的创建,这也是很困难的。。

    Stackoverflow做得很好(最近有关于这个的博客条目, "New Question / Answer Rate Limits" )-基本上拥有账户,在投票之前,您必须积极参与一段时间。然后,您将受到费率限制(按帐户),直到您参与更长时间。然后这些限制就被删除了,这样你就不会惹恼更活跃(更受信任)的用户。

        2
  •  0
  •   tehvan    16 年前

    防止重复发布的最佳方法是只让登录用户投票。这样,您可以将他们的投票存储在一些数据存储器(DB)中。

    如果要允许用户匿名投票,请使用浏览器会话。 这样做的缺点是,他们只需关闭/重新打开浏览器并重新登录即可。

    我不建议使用IP来限制投票,因为许多用户可以在代理后面,所以看起来他们拥有相同的IP。如果其中一个用户投票,其他用户就不能再投票了。

        3
  •  0
  •   Community CDub    7 年前

    这可能有助于您的bulletprof推荐请求: Content Voting Database and Application Design

        4
  •  0
  •   Joonas Pulakka    16 年前

        5
  •  0
  •   fmsf    16 年前
    • 使用经过身份验证的用户
    • 不要阻止IP
    • 不要通过cookies验证投票
    • 如果同一IP使用不同帐户多次投票,请尝试使用验证码

        6
  •  0
  •   GEONE    8 年前

    最好的方法应该是通过用户id,一个用户只能对每个挑战投票一次,每个挑战应该有一个唯一的id。

    • 检查用户是否经过身份验证。
    • 在创建新投票之前,检查用户是否已在质询ID中投票。