我有一个Windows客户端应用程序,它使用托管在共享商业php服务器中的php页面。
在这个php页面中,我将返回一个加密的json。同样在这个页面中,我有一段代码来跟踪哪个in正在访问这个php页面,并且我注意到有一个spyder/Nutch-2爬虫正在访问这个页面。
我在想,一个爬虫怎么可能找到一个没有在任何搜索引擎中发布的页面。我有办法阻止爬虫访问这个特定的页面吗?
我应该使用.htaccess文件来配置它吗?
发布于 2014-04-15 13:13:55
您确实可以使用.htaccess。robots.txt是另一种选择,但是有些爬虫会忽略这一点。还可以阻止特定的用户代理字符串。(爬行器各不相同)
robots.txt:
User-agent: *
Disallow: /这个例子告诉所有的机器人远离网站:你可以阻止特定的目录。
Disallow: /demo/有关robots.txt的更多信息
发布于 2014-04-15 13:14:02
你可以通过这样做来禁止特定的爬虫;
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (spyder/Nutch-2) [NC]
#For multi block
#RewriteCond %{HTTP_USER_AGENT} (spyder/Nutch-2|baidu|google|...) [NC]
RewriteRule .* - [R=403,L]那个爬虫,可以更改代理名称,所以这可能不是解决方案。你需要通过查看需要的ip地址来阻止爬虫;
Order Deny,Allow
Deny from x.x.x.x然而,这个机器人也可以改变他的ip地址。这意味着,您需要跟踪访问日志。并决定要阻止哪些代理并手动将它们添加到列表中。
发布于 2014-04-15 13:16:41
您可以使用.htaccess文件禁止特定的IP地址:
Order Deny,Allow
Deny from xxx.xx.xx.xx其中xxx表示IP地址。
https://stackoverflow.com/questions/23084666
复制相似问题