阻止自动Web内容收集器/爬虫

时间:2012-11-08 04:38:19

标签: php javascript web cryptography web-crawler

大家好!

我想知道是否有一种简单的方法可以阻止共享Web主机上的自动内容搜寻器(LAMP,无root访问权限)。

例如。我有大量的jpg图像,有人决定制作一个自动程序(php或其他)来下载我的所有图像数据。

我正在考虑使用javascript在客户端解密图像,从而使得爬虫收集所有数据变得更加困难或更加努力。但我不确定没有javascript支持对浏览器的影响,以及防止这种抓取工具的有效性。

当然,应该允许使用优秀的搜索引擎抓取工具。

除了图像,文本,音频或视频内容呢?我应该如何处理它们?

2 个答案:

答案 0 :(得分:1)

除非您的内容隐藏在某种形式的身份验证背后,否则任何认真尝试 的人都可以获取您的内容。也就是说,您可以采取一些措施,使用.htaccess文件使其变得更加困难。

要防止热链接(从其他网站引用您的文件),您可以添加以下内容以阻止访问以gif,jpg,js或css结尾的任何内容,并且不会将您的网站设为HTTP_REFERER

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC]
RewriteRule \.(gif|jpg|js|css)$ - [F]

您还可以阻止用户代理(full list here)访问:

RewriteEngine On 
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Zeus 
RewriteRule ^.* - [F,L]

如果您已识别出要阻止的“坏”机器人,请按IP阻止:

order allow,deny
deny from 123.45.67.89
allow from all

答案 1 :(得分:0)

这是最常见的问题之一,'如何保护我的内容不被盗

简单的答案,你不能,甚至不能反对人类。但是,你可以通过我不会涉及的一些技巧变得更难。

无法完全阻止某人窃取您的内容的原因是,当该人访问您的网站时,他们会实际下载该页面的输出。我对输出的意思是服务器发送给客户端的内容。

此时,客户端可以完全访问浏览器显示或使用过的所有内容,但您无法阻止此操作。如果您不想拍摄图像,请不要将它们放在网上。

注意: 你可以在你的图像上加一个水印,这样如果它们被盗,那么你就有了它的标识,但在大多数情况下,这对于设计来说没什么吸引力

我希望这有帮助!