Php 防止机器人处理来自网站的图像

Php 防止机器人处理来自网站的图像,php,Php,我有一个用PHP技术创建的网站,我想阻止机器人处理来自网站的图像。防止机器人处理来自网站的图像的最佳方法是什么 请确保它不会损害SEO。 请确保这不会影响Spyder和Crawler为站点编制索引。您可以将robots.txt配置为允许某些机器人,但不允许其他机器人: 例如: 这只是一个例子。您还可以允许其他行为良好的机器人 但这对那些只忽略robots.txt的行为不端的机器人来说毫无意义。虽然身份验证有点帮助(您可以通过帐户限制图像访问)。您可以将robots.txt配置为允许某些机器人,但

我有一个用PHP技术创建的网站,我想阻止机器人处理来自网站的图像。防止机器人处理来自网站的图像的最佳方法是什么

请确保它不会损害SEO。
请确保这不会影响Spyder和Crawler为站点编制索引。

您可以将robots.txt配置为允许某些机器人,但不允许其他机器人:

例如:

这只是一个例子。您还可以允许其他行为良好的机器人


但这对那些只忽略robots.txt的行为不端的机器人来说毫无意义。虽然身份验证有点帮助(您可以通过帐户限制图像访问)。

您可以将robots.txt配置为允许某些机器人,但不允许其他机器人:

例如:

这只是一个例子。您还可以允许其他行为良好的机器人


但这对那些只忽略robots.txt的行为不端的机器人来说毫无意义。对于他们来说,确实没有解决方案,不过身份验证会有一点帮助(你可以通过帐户限制图像访问)。

正如其他人所说,如果可能,首先告诉机器人程序他们无法使用robots.txt访问图像。行为良好的机器人会遵守这一点

搜索“防止热链接”。标准方法是使用mod_重写规则,在您的域中阻止对图像文件的请求,而无需引用。这将阻止大多数机器人

您可以使用和最近的文件匹配数百个常见爬虫的用户代理字符串。这在共享主机上并不常见,但是如果您阅读了手册中的注释,您应该会发现一个可以从自己的代码运行的get_浏览器实现


所有这些都会影响SEO,因为主要的搜索引擎都有图像搜索。它还将影响新的谷歌网页预览,当鼠标悬停在搜索结果上时,会显示网页的屏幕截图,因为在创建屏幕截图时,你会阻止机器人看到页面上的图像。

正如其他人所说,如果可能,首先告诉机器人他们无法使用robots.txt访问图像。行为良好的机器人会遵守这一点

搜索“防止热链接”。标准方法是使用mod_重写规则,在您的域中阻止对图像文件的请求,而无需引用。这将阻止大多数机器人

您可以使用和最近的文件匹配数百个常见爬虫的用户代理字符串。这在共享主机上并不常见,但是如果您阅读了手册中的注释,您应该会发现一个可以从自己的代码运行的get_浏览器实现


所有这些都会影响SEO,因为主要的搜索引擎都有图像搜索。它还将影响新的Google Web预览,当鼠标悬停在搜索结果上时会显示网页的屏幕截图,因为在创建屏幕截图时,您将阻止机器人看到页面上的图像。

不确定它是否有效,但如果您的所有图像都在/images/文件夹中,您可以设置

User-agent: *
Disallow: /images/

不确定它是否有效,但如果您的所有图像都在/images/文件夹中,也许您可以设置

User-agent: *
Disallow: /images/

一些潜在的解决方案可能包括使用Flash显示图像或在页面加载后通过Javascript动态加载图像。您还可以考虑通过IP节流页面负载,以防止极其快速的访问,使机器人在刮削站点时慢得多。不过,这些解决方案有明显的缺点


在你的网站上没有防止内容被刮取的故障保护方法。一个有能力的开发人员,如果想刮取一个他可以访问的站点,那么他可以毫不费力地做到这一点。最好的办法是为内容添加水印或将其放在付费墙后面。

一些潜在的解决方案可能包括使用Flash显示图像或在页面加载后通过Javascript动态加载图像。您还可以考虑通过IP节流页面负载,以防止极其快速的访问,使机器人在刮削站点时慢得多。不过,这些解决方案有明显的缺点


在你的网站上没有防止内容被刮取的故障保护方法。一个有能力的开发人员,如果想刮取一个他可以访问的站点,那么他可以毫不费力地做到这一点。最好的办法是给内容加上水印,或者把它放在付费墙后面。

这很难,没有什么简单的方法可以做到,不过你可以尝试让机器人更难做到

现在我想到的是:

  • 使用javascript创建图像链接(将强制机器人在页面上执行javascripts)

  • 使用css精灵(即,将多个图像打包成一个图像),这可能会降低机器人的可用性(例如,如果他们只是想在页面上获取并重新显示图像,那么当多个图像打包成一个图像时,在他们的网站上会显得有点难看)

  • 检查http\u referer并仅在http\u referer是允许的域时提供正确的映像

  • 在你的域名的图片上方加上一个水印,这样对其他网站就没那么有用了


很难,没有简单易行的方法,不过你可以尝试让机器人更难操作

现在我想到的是:

  • 使用javascript创建图像链接(将强制机器人在页面上执行javascripts)

  • 使用css精灵(即,将多个图像打包成一个图像),这可能会降低机器人的可用性(例如,如果他们只是想在页面上获取并重新显示图像,那么当多个图像打包成一个图像时,在他们的网站上会显得有点难看)

  • 检查http\u referer并仅在http\u referer是允许的域时提供正确的映像

  • 在你的域名的图片上方加上一个水印,这样对其他网站就没那么有用了


如果你阻止机器人,机器人会雇佣奴隶来做!你想支持奴隶劳动吗(暗示我能做的任何事情)