我开发了一个 PHP 应用程序,它的主要目的是从数据库中获取数据。我想通过使用机器请求来防止从数据库中获取所有记录(我的意思是那些由非人类发出的请求,即像 CURL 这样的机制,你通常会通过 CAPTCHA 来阻止这样的请求。)。
我怎样才能让搜索引擎只抓取我的数据而没有其他人抓取我的数据而不会造成明显的可用性损害?
相关:防止非人为生成的请求
我开发了一个 PHP 应用程序,它的主要目的是从数据库中获取数据。我想通过使用机器请求来防止从数据库中获取所有记录(我的意思是那些由非人类发出的请求,即像 CURL 这样的机制,你通常会通过 CAPTCHA 来阻止这样的请求。)。
我怎样才能让搜索引擎只抓取我的数据而没有其他人抓取我的数据而不会造成明显的可用性损害?
相关:防止非人为生成的请求
要打开您的问题,我单击了链接,我的浏览器向 stackOverflow 服务器发出请求并请求此页面。这与 cURL 的作用相同……除了它不能处理 JavaScript。但同样,我没有代表我的浏览器解析 JavaScript。这又是一个程序。
我真正需要强调的是,实际上您无法阻止机器伪造用户活动。
但是,如果您有兴趣,这里有一些技巧。就个人而言,我更喜欢不直接涉及人类的方法。
您不能通过其用户代理阻止机器人。cURL 和其他程序在发出请求时可以使用用户给定的不同用户代理。
您可以调整 googlebot 在 Google Web Master Central 中的行为方式。尝试将其与您的防洪机制相匹配。请记住,Google 建议您不要依赖其用户代理。