Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 防止重复匿名投票_Jquery_Comments_Rate_Vote - Fatal编程技术网

Jquery 防止重复匿名投票

Jquery 防止重复匿名投票,jquery,comments,rate,vote,Jquery,Comments,Rate,Vote,如何识别评论或文章的重复投票或评级? 例如,当你对一条评论投赞成票时,你就不能再在该评论中投票了 我希望用户可以投票一条评论,这个增量将保存在db中,唯一要保存的是db中的正选票和负选票的增量。所有访问者都可以对评论进行投票,每个人只能投票一次 是否有客户端解决方案 我不认为饼干是限制投票的好办法。你可以清除他们,然后再投票。也许最好的方法是只允许注册用户投票,然后在每篇文章的某个存储位置跟踪他们。当有人试图投票时,请检查文章的“投票支持此项的用户”数组,如果他们不在该数组中,请允许投票通过。用

如何识别评论或文章的重复投票或评级? 例如,当你对一条评论投赞成票时,你就不能再在该评论中投票了

我希望用户可以投票一条评论,这个增量将保存在db中,唯一要保存的是db中的正选票和负选票的增量。所有访问者都可以对评论进行投票,每个人只能投票一次


是否有客户端解决方案

我不认为饼干是限制投票的好办法。你可以清除他们,然后再投票。也许最好的方法是只允许注册用户投票,然后在每篇文章的某个存储位置跟踪他们。当有人试图投票时,请检查文章的“投票支持此项的用户”数组,如果他们不在该数组中,请允许投票通过。

用户可以在其浏览器中禁用JavaScript,删除cookie,并轻松绕过您的识别。这不是最好的解决方案。除此之外,最好在服务器端添加检查用户IP地址。

基于Cookie或localStorage的客户端解决方案将使用单个浏览器覆盖诚实的用户,这是大多数情况下的情况(因此您最好这样做)。它根本无法防止任何恶意和任何技术知识的人进行欺诈,因此您还需要在信任边界的另一侧(服务器上)包含一个检查

一个意志坚定的攻击者将能够塞满投票箱,但你有几个选择来阻止随意滥用

正如其他人提到的,一个简单的解决方案是允许每个IP地址进行一票表决。这不是一个糟糕的主意,但请看下面的讨论,了解为什么这不是一个好主意:它可以阻止合法用户投票(考虑两个室友共享一个个人路由器),并且它不会停止选票填充(我可以在家投票,然后再在工作中投票)。当你考虑像美国在线这样的ISP时,它变得更加复杂(所以流行的智慧至少说,我只是假设这仍然是真的)经常重新分配地址(表面上是为了保护他们的用户的隐私,也许)。 你可能需要验证码。这提供了与要求验证电子邮件地址类似的保护,对用户的负担稍微减轻。当然,这两种方法都不是保证。任何拥有域名的人都有无限多个唯一的工作电子邮件地址,如果几十个投票足以影响投票结果,那么攻击者只需要耐心进行几十次验证码测试

更复杂的解决方案是要求用户帐户,巧妙地观察滥用的迹象,并禁止涉嫌欺诈的帐户。我猜这远远超出了你准备做的任何事情的范围。除非有人发布了这种东西的免费通用实现?

好的。 又是一个坏习惯。
只是想愚弄一个匿名选民。当他第一次投票时-写入您的DB+1和一个cookie,其中包含当前匿名用户的额外投票金额。当他再次投票时,只需将+1添加到cookie量中,而不是添加到您的DB和更新UI中。因此,用户不知道他不能多次投票,也不尝试清除他的cookies或其他东西。当然,你不能将这种方法用于任何比赛,只能用于统计。在您的情况下,您不应该为注册用户设置此cookie并使用标准方法检查他们的投票。

您需要发布更多详细信息和一些代码。这种投票是如何运作的?您是否正在将详细信息保存到数据库?您是否将选择存储在jquery和/或cookie中?我的想法还没有代码!!!但是我希望用户可以投票支持一条评论,这个增量将保存在db中,唯一要保存的是db中的正选票和负选票的增量。所有访问者都可以对评论进行投票,每个人只能投票一次。你是对的,但我想匿名用户可以对评论进行评分。再次投票并不重要。这比使用匿名模式的浏览器更简单。