php禁止网页抓取(为什么要写这篇文章呢,这都源自神马(组图) )
优采云 发布时间: 2021-10-02 08:17php禁止网页抓取(为什么要写这篇文章呢,这都源自神马(组图)
)
为什么要写这个文章?这都是神马大白痴对phpcms网站动态链接的抓取,虽然不是普通的动态链接,但是仍然可以访问网站的文章。
虽然神马只针对移动端,但一开始我并不愿意放弃神马的流量。一天一两个总比没有好,但问题是,比如动态链接index.php?m=content&c=index&a= show&catid=1&id=1,神马抓的是index.php?a=show&c=index&catid=1&id =1&m=content,你还可以访问文章,一开始我做了301跳转,但是我每天都在做301跳转很他妈的,好吧,如果你抓的不对,我会阻止你完全,如果你遵守机器人协议。
禁止神马爬取整个站点:User-agent:YisouspiderDisallow:/
这可以在神马站长平台上看到。所有搜索引擎禁止爬取特定目录的写法都是一样的,不光是这里让人耳目一新。
搜狗比较流氓,所以没有声明自己的蜘蛛程序:
全站禁止所有搜索引擎爬虫的写法都是一样的,我只列出各个搜索引擎的爬虫:
百度:baiduspider
360:360蜘蛛
谷歌:谷歌机器人
bing: bingbot
禁止所有蜘蛛抓取某个页面:
禁止某个蜘蛛爬虫抓取某个页面,只需将名称中的robots改成具体的爬虫名称即可。
更多禁止爬取的特殊方法,可以访问我之前的文章《手机竞价网页meta标签特殊要求盘点》,结合本文了解一下。
对于不遵守robots规则的爬虫,可以使用.htaccess文件进行拦截,比如百度:
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^.*Baiduspider.* [NC]
RewriteRule .* - [F]
如果是Apache服务器,可以修改配置文件httpd.conf:
...
SetEnvIfNoCase User-Agent ^.*Baiduspider.* bad_bot
Order Allow,Deny
Allow from all
Deny from env=bad_bot
...
如果是Nginx服务器,可以修改配置文件nginx.conf:
Server{
...
location / {
if ($http_user_agent !~ Baiduspider) {
return 403;
}
}
...
}