2013-03-27 85 views
8

Facebook和Twitter等网站如何在注册期间免受bot的攻击?我的意思是,注册表单上根本没有验证码?Facebook如何保护网站免受未经验证码的攻击

我想创建一个项目注册表单,和我在注册过程中不希望机器人和验证环节往往难看..

编辑: 我的问题是真的在注册过程中,因为我知道Facebook使用Captchas第一次注册。

+2

只有一个问题,是什么让你相信他们没有得到任何机器人注册? – 2013-03-27 15:27:37

+0

有可能在Facebook上的机器人注册,但他们似乎受到DOS保护,所以我想有防止机器人 – 2013-03-27 15:30:41

+0

此外,是什么让你觉得他们不使用captcha?当然,也许如果你现在注册,你会完成整个过程。但是,您是否曾尝试过使用帐户进行过任何操作?也许他们只使用验证码,如果你开始做类似bot的活动。 – 2013-03-27 15:48:10

回答

9

Facebook的使用某种隐藏的垃圾邮件防护功能,如果您查看注册后的源代码的形式,你会看到的东西,如:

class="hidden_elem"><div class="fsl fwb">Security Check</div>This is a standard security test that we use to prevent spammers from creating fake accounts and spamming users. 

所以拍摄变得可见JavaScript时会认为你是一个机器人。

几何方法使机器人难以完成注册而没有捕获,像事件 像时间填写表单,鼠标点击事件的发起人等。在形式上 也是随机的基于会话的值(以privent直接提交无形式首先下载)

也有一些人使用具有这样的样式是CSS,但共同的简单机器人将尝试看不见的“电子邮件”通用名称隐藏的表单元素填写所有表单域,所以你可以阻止他们,如果这个隐藏的元素有任何价值

twitter和fb花费大量的时间开发技术来阻止垃圾邮件发送者我不认为他们会公开它,因为它会反对他们与垃圾邮件发送者作斗争。

但是所有的客户端JavaScript都可以从fb或twitter下载并研究它们,因为大部分的保护都会发生在客户端而不是服务器端。

服务器只能发出一些随机会话变量,检查请求中的有效头,总体时间等,其真正有限。

有些网站在用户填写表单时也使用服务器和客户端之间的ajax交换,主要是为了让bot开发人员更难以进行虚假的数据交换。

无论如何,可惜的是这里没有简单的解决办法做到体面保护,espesially没有验证码或某种问题

也 的提交按钮,您可以使用图像映射,而不是按钮, 您可以动态创建大使用PHP中的GDI和使用css在实体按钮中仅显示该图像的一部分,并在服务器端检查点击鼠标的X和Y位置时,随机位置上绘制的图像,很难让机器人突破。 除非他们使用真正的浏览器,只是模拟键盘和鼠标。无论如何,正如我不幸地说,不容易解决的地方在哪里。

1

我不知道Facebook和Twitter如何做,但如果你想创建简单的东西,并且不会影响你的网站美学,我知道有些网站只是要求用户输入答案简单的数学问题,如“什么是2 + 3?”。这不是最安全的方法,但它只是一个想法。

+0

Facebook上没有任何验证码,我想这样做。 – 2013-03-27 15:29:26

2

一种方式是验证发送到用户的电子邮件地址或手机,并得到验证(所以在这种情况下,你就必须让只有一个电邮地址或每个帐户手机)

另一种选择是使用“Negative CAPTCHA”或“Honeypot Captcha

+0

该电子邮件将确认电子邮件的有效性,但不会防止机器人注册(我刚刚创建了一个新的Facebook帐户,并且我们可以使用任何电子邮件创建并开立帐户,而无需电子邮件验证) – 2013-03-27 15:33:54

1

那么你总是可以部署硬件解决方案以及创建4-7层防火墙规则。您可以创建特定规则来查找漫游器爬行网络的着名代理。但是,要停止新创建的漫游器,您需要知道他们正在使用哪些代理程序。

0

由于您不想使用CAPTCHA,因此您可以使用Keypic - keypic.com - 这是一种隐形保护,不需要CAPTCHA。这是一种适用于任何Web表单的高效反垃圾邮件方法。网站用户不会通过任何对网站有益的测试,因为它可以提高用户体验的质量,从而提升用户参与度。该解决方案是一种专家系统,它分析用户的行为并检查数据库,然后在请求来自合法用户或机器人时作出结论。 顺便说一句,Twitter和Facebook仍然使用CAPTCHA进行密码验证,这是一种在保护效率方面非常有争议的方法。

+0

嗨,这实际上不是一个答案。 ...它可能是一个很好的方法,但它是像Facebook和Twitter这样的网站使用的方法。 – iandotkelly 2014-03-06 00:19:40

+0

Keypic截至2016年12月正在中止 – Enkode 2016-11-27 07:16:06

-1

我遇到了一大堆注册我的任天堂网站的机器人问题,所以我在注册页面上放置了一张马里奥的图片(确保图片数据中没有任何内容说“马里奥”),这是吗?用一个词回答。“自此以后,没有单一的机器人注册。不知道这是否是一个很好的解决方案,但不知道这是多么聪明的机器人。我有点惊讶,它的工作。

理论上它可能是保持了几个合法用户,但它是很难想象一个任天堂网站的许多合法用户不知道马里奥是谁...

+0

问题是:Facebook如何保护网站免受任何CAPTCHA的攻击。 – 2014-03-20 01:39:24

相关问题