1

每个人 !

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

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

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

当然,应该允许好的搜索引擎爬虫。

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

4

2 回答 2

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]

您还可以阻止用户代理访问(此处为完整列表):

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
于 2012-11-08T04:46:33.667 回答
0

这是被问得最多的问题之一,“如何保护我的内容不被盗”。

简单的答案,你不能,甚至不能对抗人类。但是,您可以使用一些我不会涉及的技巧来使其更难掌握。

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

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

注意:您可以在图像上添加水印,这样如果它们被盗,那么您的徽标就会出现在它们上面,但这在大多数情况下对设计没有吸引力

我希望这有帮助!

于 2012-11-08T04:45:58.440 回答