php - 用于捕捉机器人的算法

标签 php webserver web-crawler bots

包括 stackexchange 在内的网站使用什么算法来捕获机器人? 是什么让他们有时会失败并向普通用户提供人工验证? 对于在 PHP 上运行的 Web 应用程序和网站,您会建议什么来阻止机器人和机器人攻击甚至内容窃取?

谢谢。

最佳答案

查看http://www.captcha.net/提供良好且简单的人工验证工具。

防止内容被盗将非常困难,因为您希望将信息提供给访问者。

请勿不要禁用右键单击,它只会惹恼您的用户,而不会以任何方式阻止内容窃贼。

您无法阻止所有机器人,但您将能够实现安全层,每个层都会阻止一部分机器人。

一些提示和技巧;

  • 使用验证码进行人工验证,但不要使用太多,因为它们会让用户感到疲劳。
  • 您可以使用验证码进行电子邮件验证,并要求登录才能访问您的内容(如果它不会吓跑太多用户)。或者考虑免费提供部分内容,并要求注册才能获取完整内容。
  • 定期(通过 Google,可能使用 Google API 自动)检查您在其他网站上的内容片段,如果他们公然窃取(未引用!)您的内容,请起诉/DMCA。
  • 限制单个客户向您的网站发出请求的速度。机器人会经常且快速地进行抓取。对于人类用户来说,每秒多次请求内容已经很多了。有一些服务器工具可以完成此任务,例如。查看http://www.modsecurity.org/

我确信可以想到更多的安全层,但我直接想到的是这些。

关于php - 用于捕捉机器人的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8918841/

相关文章:

javascript - 使用来自客户端的变量加载文件

php - 如何验证 joomla 是否对表中的字段进行查询更新?

authentication - 如何在 Apache Airflow 中激活身份验证

java - 避免对每个请求进行 SPNEGO 身份验证

php - GNU Parallel 从网页运行

python - 如何使用 `daringfireball` 的正则表达式 re.findall() ?

php - 在将其插入数据库之前如何检查数据库中已存在的表单值?

php - Apache 的 x-sendfile 替代方案,用于下载带有恢复支持的大文件

ASP.NET Web 开发服务器

multithreading - Rust-在多个worker之间共享结构中的哈希集的最佳方法