网站robots.txt文件的安全设置
robots.txt文件可以有效的屏蔽搜索引擎抓取我们不需要被抓取的页面和网站源文件,其中的好处是限制搜索引擎过多的抓取不必要的内容,减少搜索引擎蜘蛛进行不必要的网站爬寻分散,也是为了让我们的网站不必要的内容不在搜索引擎被收录,不让别人搜索到。 其中什么样的文件会被限制抓取呢?
一、是否通过robots.txt来屏蔽动态页面,减少页面的重复抓取?
其实个人建议普通网站不必要进行动态页面的屏蔽,搜索引擎一般会自动判断是否重复,普通网站内容并不是非常多,一般出现重复页面的可能性也比较低,如果是信息站和论坛站等建议屏蔽动态页面。
二、robots.txt屏蔽特殊页面,隐私内容的屏蔽。
robots.txt屏蔽特殊页面,网站隐私内容的屏蔽,其实对于一个网站来说,隐私内容比较难实现,在无程序支持的前提下,这里说的隐私是指一些不想被流传到互联网的内容,屏蔽搜索引擎蜘蛛避免在互联网被泛滥,如:网络培训班培训资料。
三、网站特殊文件夹屏蔽
特殊文件夹一般是指,网站程序安装文件,动态功能页面,多于的文件夹,后台功能等。
Robots.txt是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不能被搜索引擎的漫游器获取的,哪些是可以被(漫游器)获取的。一个典型的文件内容如下:
User-agent:Disallow: /cgi-bin/Disallow: /tmp/Disallow: /private/
因为一些系统中的URL是大小写敏感的,所以Robots.txt的文件名应统一为小写,即robots.txt。robots.txt应放置于网站的根目录下。如果想单独定义搜索引擎的漫游器访问子目录时的行为,那么可以将自定的设置合并到根目录下的robots.txt,或者使用robots元数据。
Robots.txt协议并不是一个规范,而只是约定俗成的,所以并不能保证网站的隐私。注意Robots.txt是用字符串比较来确定是否获取URL,所以目录末尾有和没有斜杠“/”这两种表示是不同的URL,也不能用"Disallow: .gif"这样的通配符。
其他的影响搜索引擎的行为的方法包括使用robots元数据:这个协议也不是一个规范,而只是约定俗成的,通常搜索引擎会识别这个元数据,不索引这个页面,以及这个页面的链出页面。
例1. 禁止所有搜索引擎访问网站的任何部分 | User-agent: * Disallow: / |
例2. 允许所有的robot访问 (或者也可以建一个空文件 “/robots.txt”) |
User-agent: * Disallow: 或者 User-agent: * Allow: / |
例3. 仅禁止Baiduspider访问您的网站 | User-agent: Baiduspider Disallow: / |
例4. 仅允许Baiduspider访问您的网站 | User-agent: Baiduspider Disallow: User-agent: * |
例5. 禁止spider访问特定目录 在这个例子中,该网站有三个目录对搜索引擎的访问做了限制,即robot不会访问这三个目录。需要注意的是对每一个目录必须分开声明,而不能写成 “Disallow: /cgi-bin/ /tmp/”。 |
User-agent: * Disallow: /cgi-bin/ Disallow: /tmp/ Disallow: /~joe/ |
例6. 允许访问特定目录中的部分url | User-agent: * Allow: /cgi-bin/see Allow: /tmp/hi Allow: /~joe/look Disallow: /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: Baiduspider Disallow: .jpg$ Disallow: .jpeg$ Disallow: .gif$ Disallow: .png$ Disallow: .bmp$ |
例11. 仅允许Baiduspider抓取网页和.gif格式图片 允许抓取网页和gif格式图片,不允许抓取其他格式图片 |
User-agent: Baiduspider Allow: .gif$ Disallow: .jpg$ Disallow: .jpeg$ Disallow: .png$ Disallow: .bmp$ |
例12. 仅禁止Baiduspider抓取.jpg格式图片 | User-agent: Baiduspider Disallow: .jpg$ |
在书写写这些语句的时候尤其注意的一点是冒号(:)和( /) 之间要有一个空格符,如果这个空格没有加的话,是不能起到作用的,robots.txt文件一般放在网站的根目录下,而且命名必须是robots.txt。
在屏蔽目录的时候,注意,这里如果是阻止抓取某目录的话目录名字一定要注意“/”,不带“/”表示的是阻止访问目录所有内容和包含目录名的文件,而带上“/”则表示阻止访问目录下的所有内容,这两点要分清楚,详见《robots文件屏蔽目录带/斜杠和不带的区别》。
为了让搜索引擎更快的收录我们的内页,我们一般都会做一个百度地图或者谷歌地图,那么,Sitemap:+网站地图,这个命令就可以快速的引导搜索引擎蜘蛛来到你的地图页面对网站内页进行抓取。当网站的死链接过多处理非常麻烦的时候,我们可以利用robots来屏蔽这些页面,这样就可以避免网站因为死链接被百度降权。
在网站优化过程中,对于搜索引擎蜘蛛的了解和控制是非常重要的,那么今天关于robots.txt文件的写法,木子网络就介绍到这里,希望能够帮助到大家。
大家都知道robots.txt文件,能限制搜索引擎可以抓取哪些内容,不准抓取哪些内容。比如我们网站的后台就不希望被搜索抓取,那么robots文件需要这样写:
User-agent: * Disallow: /dede/
但是,如果有人要破解网站的话,通过robots文件很容易就知道了后台地址,清楚了网站的结构。这对网站安全造成了威胁,我们并不希望这样!下面有两种方法解决这个问题
一、使用通符(*)
User-agent: * Disallow: /d*/
这种的写法是禁止所有的搜索引擎抓取根目录下a开头的目录。那么,当你的后台是dede5的时候,还有谁会猜得到呢?
二、只写前几个字母
User-agent: * Disallow: /de/
这样写是禁止所有的搜索引擎抓取根目录下de开头的目录。如果你的其他栏目有de开头的,你就要在robots.txt文件里面多写一个字母。
Robots.txt带来的好处
几乎所有的搜索引擎Spider都遵循robots.txt给出的爬行规则,协议规定搜索引擎Spider进入某个网站的入口即是该网站的robots.txt,当然,前提是该网站存在此文件。对于没有配置robots.txt的网站,Spider将会被重定向至404 错误页面,相关研究表明,如果网站采用了自定义的404错误页面,那么Spider将会把其视作robots.txt——虽然其并非一个纯粹的文本文件——这将给Spider索引网站带来很大的困扰,影响搜索引擎对网站页面的收录。
robots.txt可以制止不必要的搜索引擎占用服务器的宝贵带宽,如email retrievers,这类搜索引擎对大多数网站是没有意义的;再如image strippers,对于大多数非图形类网站来说其也没有太大意义,但却耗用大量带宽。
robots.txt可以制止搜索引擎对非公开页面的爬行与索引,如网站的后台程序、管理程序,事实上,对于某些在运行中产生临时页面的网站来说,如果未配置robots.txt,搜索引擎甚至会索引那些临时文件。
对于内容丰富、存在很多页面的网站来说,配置robots.txt的意义更为重大,因为很多时候其会遭遇到搜索引擎Spider给予网站的巨大压力:洪水般的Spider访问,如果不加控制,甚至会影响网站的正常访问。
同样地,如果网站内存在重复内容,使用robots.txt限制部分页面不被搜索引擎索引和收录,可以避免网站受到搜索引擎关于 duplicate content的惩罚,保证网站的排名不受影响。
robots.txt带来的风险及解决
凡事有利必有弊,robots.txt同时也带来了一定的风险:其也给攻击者指明了网站的目录结构和私密数据所在的位置。虽然在Web服务器的安全措施配置得当的前提下这不是一个严重的问题,但毕竟降低了那些不怀好意者的攻击难度。
声明:本文由绝句博客发布,如需转载请注明出处。
转载请注明出处:https://www.jueju.cn/ robots.txt.html