Ruby on rails 阻止访客再次投票 原始问题

Ruby on rails 阻止访客再次投票 原始问题,ruby-on-rails,session,authentication,tracking,rack,Ruby On Rails,Session,Authentication,Tracking,Rack,我想在我的页面上实现一个对访问者和用户开放的投票系统,即未经身份验证的用户可以投票 是否有导轨/机架(或其他)解决方案来识别访客 摘要/结果: 如果您想实施一个访客只能执行一次特定操作的系统,即投票系统。您必须将访客分为两组: 不想/没有工具欺骗投票的访客 不操纵结果的访问者可以使用诸如:、Webbrowser指纹()和IP阻止等技术进行跟踪 宝石: JS: 付费服务: 想要并且可以欺骗投票的访问者 想要操纵结果的访问者将会并且能够做到这一点。这是一个例子。您可以为这些访问者

我想在我的页面上实现一个对访问者和用户开放的投票系统,即未经身份验证的用户可以投票

是否有导轨/机架(或其他)解决方案来识别访客

摘要/结果: 如果您想实施一个访客只能执行一次特定操作的系统,即投票系统。您必须将访客分为两组:

不想/没有工具欺骗投票的访客 不操纵结果的访问者可以使用诸如:、Webbrowser指纹()和IP阻止等技术进行跟踪

宝石:

JS:

付费服务:

想要并且可以欺骗投票的访问者
想要操纵结果的访问者将会并且能够做到这一点。这是一个例子。您可以为这些访问者设置较高的屏障,但通常情况下,他们绕过这些屏障比您实现它们更容易。这个问题的答案完美地概括了原因。

您可以使用cookie,但它可以被禁用和过期,或者使用IP地址来识别访问者。这也可能被欺骗,而且有可能在更大的网络中,人们拥有相同的IP(例如,来自公司网络)

基本上没有万无一失的解决方案。我认为如果没有什么重要的东西依赖于IP地址,那么IP地址就“足够好了”。

客户端软件识别 网络浏览器指纹识别 全景单击仅识别浏览器配置,不识别人。只是在同一台计算机上使用不同的浏览器(IE/FF/Opera/Chrome),在同一台计算机上的不同用户帐户上使用相同的浏览器(安装的插件不同,因此浏览器指纹不同),或者使用不同的计算机,都会“愚弄”panopticklick

这不是panopticklick的弱点,因为panopticklick不尝试识别人类,只识别Web浏览器

“私人浏览模式”应减少浏览器指纹的唯一性

曲奇饼 evercookie与任何类型的cookie一样,都是特定于用户帐户(或计算机):只需使用不同的帐户或计算机,您就会获得不同的身份。(由于文件权限不同,不同用户无法访问彼此的Cookie。)

“私人浏览模式”,如果实施得当,将清除所有cookies,包括“超级cookies”

IP地址 更改IP地址 部分用户:

  • 固定IP地址
  • 一个很少改变的IP地址
  • 一个IP地址,如果他们在数小时、数天或数周内拔下调制解调器,该地址会发生变化
  • 几乎每次重新启动调制解调器时都会更改的IP地址
  • 每24小时更改一次的IP地址,即使他们不希望更改(因为IP地址更改将中断TCP连接)
这不是编造的我知道ISP有所有这些不同的IP分配策略。但是,我没有关于这些不同类别用户数量的统计数据

有些ISP会让你付费只是为了有一个固定的IP地址。因此,我相信,对于大多数互联网用户来说,改变IP地址几乎是惯例

代理 使用匿名代理(包括Tor)将提供不同的IP地址,就像VPN一样

但所有代理用户(或Tor出口节点的所有用户)可能都具有相同的IP地址

共享IP地址 在几乎所有情况下,家庭成员都将共享一个IP地址

大多数中小型企业只有一个外部地址。这在实践中一直是网络邮件每IP反垃圾邮件限制的一个问题

几乎所有移动IP用户都与少数或许多其他用户共享相同的IP地址。这在实践中一直是每个IP防DOS限制的问题!服务器管理员必须列出传出的IP地址,并将其列为白名单!每当移动ISP使用新的传出IP地址时,其客户端将再次被阻止,直到服务器管理员添加新的IP地址


你可能不想玩这个“游戏”。

我的研究到现在为止让我走上了同一条道路:基本上,当没有设置cookie时,我可以使用和IP阻塞作为备用。但我真的想知道是否有现成的解决方案?根本没有办法。任何可能帮助您识别某人的信息都可能是伪造的。您可以尝试收集其他数据(浏览器类型、操作系统版本、分辨率),并尝试根据IP猜测用户是同一用户还是其他人,但这是浪费时间。“您可以使用cookie,但可以禁用”您可以检测cookie何时被阻止(禁用),但无法检测用户何时删除它们,除非你依赖另一种不可靠的方法……“未经认证的用户可以投票”,这样人们可以投票很多次,而且非常容易。问题在于需求。