做优化的朋友都知道网站的robots的目的是让搜索引擎知道我们网站哪些目录可以收录,哪些目录禁止收录。通常情况蜘蛛访问网站时,会首先检查你的网站根目录是否有robots文件,如果有,则会根据此文件来进行抓取判断,如果不存在robots,那么网站的所有页面都有可能被收录,这将会给网站带来安全隐患。

  例如:通过百度搜索“织梦内容管理系统 V57_UTF8_SP1”就会出现一堆用织梦程序的后台地址,将后台暴露给他人,带来极大的安全隐患。

  下面木子网络先给大家介绍下robots.txt是干什么的?

  robots.txt基本上每个网站都有,并且是在网站的根目录下,任何人都可以直接输入路径打开并查看里面的内容,如http://www.muziwl.com/robots.txt。上面已经讲到该文件的目的就是告诉搜索引擎,哪些页面可以去抓取,哪些页面不要抓取。

  robots.txt如何使用

  在网站根目录下创建一个文件,取名robots.txt,文件名必须是这个!然后设置里面的规则。

  比如我有一个博客,我要设置不允许任何搜索引擎收录本站,robots.txt中就设置如下两行即可。

  User-agent: *

  Disallow: /

  如果要限制不让搜索引擎访问我们网站后台admin目录,则规则改为:

  User-agent: *

  Disallow: /admin/

  robots.txt更多的使用规则,不在本文的讨论范围之内,详细的可以阅读下以前的一篇文章《网站优化之robots文件的写法详解》。

  通过上面的方法我们可以禁止搜索引擎收录我们的后台页面,但矛盾的是,robots.txt文件任何人都可以访问,包括黑客。为了禁止搜索引擎,我们同时也把隐私泄露给了黑客。

  像上面的例子中,我们为了让搜索引擎不要收录admin页面而在robots.txt里面做了限制规则。但是这个robots.txt页面,谁都可以看,于是黑客就可以通过robots了解我们网站的后台或者其它重要的目录结构。

  有没有办法既可以使用robots.txt的屏蔽搜索引擎访问的功能,又不泄露后台地址和隐私目录的办法呢?

  有,那就是使用星号(*)作为通配符和截取部分目录名称。举例如下后台地址为admin:

  User-agent:*

  Disallow: /a*/

  或者使用下面这种方法:

  User-agent: *

  Disallow: /ad

  关键在第二句,这样写就会阻止搜索引擎访问任何以“ad”开头的文件和目录。为了防止别人猜出你的后台目录,这里截取的越短越好。当然如果你后台的目录是admin,还是有可以被人猜到,但如果你再把admin改为admadm呢?还有会谁能知道?

  总结下,为了不让搜索引擎收录网站的后台目录和其它隐私目录,我们将这些路径在robots.txt文件中禁用。又为了让robots.txt中的内容不泄露网站的后台和隐私,我们可以使用上面两种robots写法。最后为了不让黑客猜到真实的路径,我们可以把这些敏感的目录进行非常规的重命名例如加特殊符号“@”等。

  好了,关于robots.txt防止向黑客泄露网站后台和隐私目录的写法,就介绍这么多,希望对大家有帮助,谢谢!

网站优化之robots文件的写法详解

  在网站优化过程中,很多站长朋友都遇到过这样一个问题,不想让搜索引擎收录的页面被收录了,如果网站后台页面或者是配置文件等被收录了,那么网站的安全性就受到了威胁,这时候网站robots.txt文件的功能就体现出来了,我们只要在文件中屏蔽掉蜘蛛的访问,这样搜索引擎就不会抓取这些页面了,这样不仅可以减少蜘蛛的爬行压力,还可以集中网站权重,对网站优化也十分有利。

  在正式介绍robots.txt标准写法之前,我们先来介绍下robots的做用,从书面释义robots是机器人的意思,从文件后缀来看,是一个txt文档,综合这两点可以看出此文件是给搜索引擎的蜘蛛机器人看的。所谓robots.txt文件,是Robots协议(也称为爬虫协议、机器人协议等),是搜索引擎蜘蛛抓取的第一个文件,通过这个文件,蜘蛛可以了解到网站那些内容可以抓取,那些页面不可以抓取,当然,我们也可以直接屏蔽掉蜘蛛的访问。下面,木子网络给大家具体介绍一下robots.txt文件的写法。

  robots.txt语句:

  User-agent: * 这里的*代表的所有的搜索引擎种类,*是一个通配符

  Disallow: /admin/ 这里定义是禁止爬寻admin目录下面的目录

  Disallow: /require/ 这里定义是禁止爬寻require目录下面的目录

  Disallow: /ABC/ 这里定义是禁止爬寻ABC目录下面的目录

  Disallow: /cgi-bin/*.htm 禁止访问/cgi-bin/目录下的所有以".htm"为后缀的URL(包含子目录)。

  Disallow: /*?* 禁止访问网站中所有包含问号 (?) 的网址

  Disallow: /.jpg$ 禁止抓取网页所有的.jpg格式的图片

  Disallow: /ab/adc.html 禁止爬取ab文件夹下面的adc.html文件。

  Allow: /cgi-bin/ 这里定义是允许爬寻cgi-bin目录下面的目录

  Allow: /tmp 这里定义是允许爬寻tmp的整个目录

  Allow: .htm$ 仅允许访问以".htm"为后缀的URL。

  Allow: .gif$ 允许抓取网页和gif格式图片

  Sitemap: 网站地图 告诉爬虫这个页面是网站地图

  robots.txt写法举例:

  1、禁止所有搜索引擎访问网站的所有部分

  User-agent: *

  Disallow: /

  2、禁止百度索引你的网站

  User-agent: Baiduspider

  Disallow: /

  3、禁止Google索引你的网站

  User-agent: Googlebot

  Disallow: /

  4、禁止除Google外的一切搜索引擎索引你的网站

  User-agent: Googlebot

  Disallow:

  User-agent: *

  Disallow: /

  5、禁止除百度外的一切搜索引擎索引你的网站

  User-agent: Baiduspider

  Disallow:

  User-agent: *

  Disallow: /

  6、禁止蜘蛛访问某个目录

  (例如禁止admin\css\images被索引)

  User-agent: *

  Disallow: /css/

  Disallow: /admin/

  Disallow: /images/

  7、允许访问某个目录中的某些特定网址

  User-agent: *

  Allow: /css/my

  Allow: /admin/html

  Allow: /images/index

  Disallow: /css/

  Disallow: /admin/

  Disallow: /images/

  robots.txt常用写法举例:

例1. 禁止所有搜索引擎访问网站的任何部分

User-agent: *Disallow: /

例2. 允许所有的robot访问(或者也可以建一个空文件 “/robots.txt”)

User-agent: *Disallow: 或者User-agent: *Allow: /

例3. 仅禁止Baiduspider访问您的网站

User-agent: BaiduspiderDisallow: /

例4. 仅允许Baiduspider访问您的网站

User-agent: BaiduspiderDisallow: 

 

User-agent: *Disallow: /

例5. 禁止spider访问特定目录在这个例子中,该网站有三个目录对搜索引擎的访问做了限制,即robot不会访问这三个目录。需要注意的是对每一个目录必须分开声明,而不能写成 “Disallow: /cgi-bin/ /tmp/”。

User-agent: *Disallow: /cgi-bin/Disallow: /tmp/Disallow: /~joe/

例6. 允许访问特定目录中的部分url

User-agent: *Allow: /cgi-bin/seeAllow: /tmp/hiAllow: /~joe/lookDisallow: /cgi-bin/Disallow: /tmp/Disallow: /~joe/

例7. 使用”*”限制访问url禁止访问/cgi-bin/目录下的所有以”.htm”为后缀的URL(包含子目录)。

User-agent: *Disallow: /cgi-bin/*.htm

例8. 使用”$”限制访问url仅允许访问以”.htm”为后缀的URL。

User-agent: *Allow: .htm$Disallow: /

例9. 禁止访问网站中所有的动态页面

User-agent: *Disallow: /*?*

例10. 禁止Baiduspider抓取网站上所有图片仅允许抓取网页,禁止抓取任何图片。

User-agent: BaiduspiderDisallow: .jpg$Disallow: .jpeg$Disallow: .gif$Disallow: .png$Disallow: .bmp$

例11. 仅允许Baiduspider抓取网页和.gif格式图片允许抓取网页和gif格式图片,不允许抓取其他格式图片

User-agent: BaiduspiderAllow: .gif$Disallow: .jpg$Disallow: .jpeg$Disallow: .png$Disallow: .bmp$

例12. 仅禁止Baiduspider抓取.jpg格式图片

User-agent: BaiduspiderDisallow: .jpg$

  在书写写这些语句的时候尤其注意的一点是冒号(:)和( /) 之间要有一个空格符,如果这个空格没有加的话,是不能起到作用的,robots.txt文件一般放在网站的根目录下,而且命名必须是robots.txt。

  在屏蔽目录的时候,注意,这里如果是阻止抓取某目录的话目录名字一定要注意“/”,不带“/”表示的是阻止访问目录所有内容和包含目录名的文件,而带上“/”则表示阻止访问目录下的所有内容,这两点要分清楚,详见《robots文件屏蔽目录带/斜杠和不带的区别》。

  为了让搜索引擎更快的收录我们的内页,我们一般都会做一个百度地图或者谷歌地图,那么,Sitemap:+网站地图,这个命令就可以快速的引导搜索引擎蜘蛛来到你的地图页面对网站内页进行抓取。当网站的死链接过多处理非常麻烦的时候,我们可以利用robots来屏蔽这些页面,这样就可以避免网站因为死链接被百度降权。

  在网站优化过程中,对于搜索引擎蜘蛛的了解和控制是非常重要的,那么今天关于robots.txt文件的写法,木子网络就介绍到这里,希望能够帮助到大家。

查看原文