防止Google图片搜索中的图片热链接

时间:2013-02-10 08:31:27

标签: redirect search-engine hotlinking

就在最近,谷歌推出了图像搜索的新界面。从2013年1月25日起,全尺寸图片会直接显示在Google内部,而不会将访问者发送到源网站。我遇到了一个网站,显然已经开发出一种复杂的方法来阻止用户通过引入某种水印动态来抓取Google的图像。要查看此内容,请通过“fansshare.com”在新的Google图片搜索界面上搜索图片。此链接应该有效:Google Image Search。如果没有,只需在Google搜索输入字段中输入“site:fansshare.com”即可。但请务必使用新的搜索界面。

fansshare.com如何实现这一目标?我无法理解......

更新

fansshare.com为所有图片网址添加了GET参数,例如?rnd = 69 。示例图片网址: http://fansshare.com/media/content/570_Jessica-Biel-talks-Kate-Beckinsale-Total-Recall-fight-5423.jpg?rnd=62

此图片网址适用于几个电话或几秒钟,之后会重定向到缓存的水印图片: http://fansshare.com/cached/?version=media/content/570_Jessica-Biel-talks-Kate-Beckinsale-Total-Recall-fight-5423.jpg&rnd=5810

修改

我们终于完全模仿了FansShare的热链接保护,我们在以下广泛的博客文章中发表了我们的研究结果:

http://pixabay.com/en/blog/posts/hotlinking-protection-and-watermarking-for-google-32/

5 个答案:

答案 0 :(得分:6)

有一个解决方案,但就像其他解决方案一样,谷歌可以根据自己的意愿将其作为隐形和禁令。这是一个漫长的过程,可能需要进一步修改以适应您的情况。 (提前告知对不起)

<强>设置

为了举例,我们只说:

  • 网站:www.thesite.com
  • ImageURL基础:images.thesite.com

(但ImageURL基础很容易www.thesites.com/wp-content/uploads

:定位

我们的目标是实现这一目标,(1)如果从谷歌图片搜索中请求完整尺寸的图像,则只显示水印/叠加图;(2)不要破坏之前的工作内容。

<强>解决方案

理论解决方案如下。

1)检查用户代理,如果它包含Googlebot,则提供“陷阱”网址。陷阱URL是您当前的图片网址,但稍有更改,因此您可以采用不同的方式对待,因此不是当前正常:

http://images.thesite.com/wallpapers/awesome.jpg

你应该为Googlebots打印:

http://cacheimages.thesite.com/wallpapers/awesome.jpg

(其中cacheimages是你想要的任何东西)

2)现在主菜;您应该能够将请求定位到http://cacheimages.thesite.com/并拥有一个如下所示的脚本:

 If the request comes from a bot (check user-agent headers)
     Then serve the normal image without watermark
 Else (if the request seems to be from a normal user)
     Then check the referer: If it's from google (but NOT http://www.google.com/blank.html)
          Redirect to the Post of the image (Note 1.)
     Else if the refer is your site
          Show the raw normal image
     Else (any other referer, including http://www.google.com/blank.html)
          Show watermarked image (Note 2.)

注1 :当人们点击“查看原始图片”或图片本身时会发生这种情况

注2 :当人们试图从谷歌图片搜索结果中看到全尺寸图片时(如果他们以某种方式到达图片的陷阱网址),就会发生这种情况。

3)如果用户代理是Googlebots,您可以将旧图像重定向到新的ImageURL基础,这样叠加/水印技巧就可以更快地开始处理旧图像(甚至使用Google网站管理员工具)如果你使用子域名的图像),你一定要保留SEO汁液。

进一步行动

如果你想要认真,你可以做更多的改变。

  1. 而不是将水印图像重定向到更动态的网址http://cacheimages.thesite.com/preview?p=/wallpapers/awesome.jpg&r=23535 或更现代的HTTP标头使用没有索引: X-Robots-Tag: noindex
  2. 当然缓存水印图像
  3. 检查Accept http标题,查看我没有想到的情况并提供图片或相应地重定向图片。
  4. 注意

    您可能还需要考虑国际流量,而不是google.com您要检查google.[a-z-\.]+/

    <强>结论

    这可以适用于任何系统,我为一个在子域上有图像的系统进行了调整,所以对于像wordpress等其他系统来说它可能不会完全相同。另外,我相信Google会做一个改变在接下来的几个月中搜索他们的图像来解决这个问题。

    可以在Github上找到未经测试的想法示例实现。

    <强>免责声明

    这尚未经过彻底测试,您可能会被禁止,它仅用于研究和教育目的。我不能对任何损害赔偿等负责。

答案 1 :(得分:2)

一些新的wordpress插件可用于解决谷歌和bing hotlinking图像:

http://wordpress.org/extend/plugins/imaguard/ http://wordpress.org/extend/plugins/google-break-dance/

答案 2 :(得分:0)

您好,这是一个在WordPress上解决此问题的新插件

https://github.com/mompracem/direct-images-redirect

它不是使用水印图像,而是将尝试直接访问图像的用户重定向到最初附加图像的帖子或页面。

这是一个新的插件因此可能有一些错误,请通过github测试和报告问题谢谢

答案 3 :(得分:0)

嗯......关于向Googlebots发送不同的图片或网址,与普通用户相比还不行! 图像应该是静默重定向的()。

对于Wordpress博客, WP-PICShield 我认为这是最好的选择之一!

  • 缓存支持,
  • 传递图像请求
  • 反IFRAME保护,
  • 自定义图片transprency
  • 自定义PNG水印
  • 图像上的HostName为url和/或QR-BarCode !!!
  • 将直接链接重定向到:附件,单个/图库或主页
  • 防止未经授权的请求
  • 避免大文件的内存错误
  • 允许在线翻译
  • 允许社交网站的分享按钮:Facebook,Pinterest,Thumblr, Twitter,Google Plus
  • 通过RPC和Twitter通过OAuth允许Wordpress
  • 手动清除缓存脚本避免执行php限制
  • 允许远程ip列表
  • +++ CDN工具和帮助

以及更多......

答案 4 :(得分:0)

我终于在不使用插件的情况下找到了stop Google Image Search from hotlinking my photos的方法。我希望这有助于任何仍在处理谷歌这一完全邪恶决定的后果的人。