我正在寻找一个解决方案来检测在我的网站上创建许多帐户的作弊。
我发现了永久性的跨浏览器cookies:http://samy.pl/evercookie/,但它是用JS写的,我需要一些东西在rails控制器中使用。有没有像evercookie这样的宝石或插件?
发布于 2013-05-29 21:54:16
发布于 2012-06-11 09:26:40
电子邮件令牌(设计、魔法)
您可以向新用户发送电子邮件吗?
许多网站使用的一个简单解决方案是向用户发送一封带有安全令牌的电子邮件。一个很好的Rails gem是Devise,另一个是Sorcery,它使构建您自己的自定义身份验证变得简单。
第三方登录(OmniAuth、OpenId、Facebook Connect、推特等)
您能否使用第三方服务对用户进行身份验证?
OmniAuth gem可以连接到许多第三方服务,并允许用户使用谷歌、雅虎、Facebook、Twitter、LinkedIn以及包括LDAP和Shibboleth在内的开放服务上的现有帐户进行身份验证。
OpenId gem可以与谷歌、雅虎和许多其他大型提供商很好地协同工作;您也可以在OmniAuth中使用OpenId。
在所有这些情况下,您都会跟踪发送,这样用户就不会使用相同的电话号码、邮寄地址、信用卡等太快地再次申请。
电话留言(Twilio)
你能给你的用户发一条短信吗?
Twilio gem允许向电话号码发送文本消息。其概念是你的应用程序向他们发送一条带有验证码的文本消息。
蜗牛邮件(Postalmethod)
postalmethods gem可以让你在邮件中发送真实的、实体的明信片。你可以寄一张带有验证码的明信片。这可能需要几天的时间,所以一些网站将其与新用户的“试用期”结合起来使用,因为他们在某种程度上受到了沙箱的限制,不会造成任何麻烦。(例如,他们可以读取信息,但不能发布信息)。
信用卡(BrainTree)
相关的想法是让用户向您发送需要信用卡的东西,例如使用BrainTree或ActiveMerchant等支付网关。
您可以在不收取任何费用的情况下验证该卡是否打开并有效。或者你可以要求很小的最低付款,比如要求用户通过PayPal、谷歌支付、亚马逊Dev Pay等给你寄一美元。
信用卡号码具有内部结构(类似于校验和),因此您可以验证该号码的格式和校验和是否正确。一个简单的脚本是flame.org
图像验证码(recaptcha)
为了阻止机器人,像Ruby recaptcha这样的captchas可以很好地工作。
Ruby有其他的验证码解决方案,其中任何一个都可能很好。
因果报应(hypothes.is)
这不是宝石,但它是一个概念。为新用户提供有限的权限,例如只读访问权限。让用户通过成为会员一段时间,或贡献内容,或与你网站内的朋友和同龄人联系等方式获得新的特权。
这就是像StackOverflow这样的站点是如何工作的,在http://hypothes.is上有很多关于这些方法的好信息
Combos
最强大的方法是这些技术的组合。
也许可以为新用户提供一些基本功能,比如读取信息,然后让他通过执行上面的一个或多个身份验证来获得新的功能。这就是谷歌和Facebook如何添加一些功能的:你可以轻松地注册,然后验证其他电子邮件,然后验证你的电话号码,然后验证你的邮政地址。
发布于 2012-06-14 21:45:17
不,没有Rail -in解决方案,它不会有太多意义。
server是用JavaScript编写的,另外还将
(闪存)对象用于本地共享对象,将PHP用于服务器端生成缓存的PNG和ETags。
几乎所有的Evercookie技术都依赖于浏览器的特殊Javascript API,因此无法将它们移植到服务器端技术(除了小的PHP部分)。
gem可能会使集成和更新变得更容易,但它仍然是客户端的Javascript。
请考虑Evercookie的伦理含义。在我看来,它是一个概念的证明,而不是一个被广泛使用的工具。
https://stackoverflow.com/questions/10872194
复制相似问题