网络安全:robots.txt防止向黑客泄露后台地址和隐私目录的写法
做优化的朋友都知道网站的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: 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.txt防止向黑客泄露网站的后台和隐私
为了不让搜索引擎索引网站的后台页面或其它隐私页面,我们将这些路径在robots.txt文件中禁用了.但矛盾的是,robots.txt文件任何人都可以访问,包括黑客.为了禁止搜索引擎,我们把隐私泄露给了 ...
- Robots.txt 协议详解及使用说明
一.Robots.txt协议 Robots协议,也称为爬虫协议.机器人协议等,其全称为“网络爬虫排除标准(Robots Exclusion Protocol)”.网站通过Robots协议告诉搜索引擎哪 ...
- dedecms:解析Robots.txt 协议标准
Robots.txt 是存放在站点根目录下的一个纯文本文件.虽然它的设置很简单,但是作用却很强大.它可以指定搜索引擎蜘蛛只抓取指定的内容,或者是禁止搜索引擎蜘蛛抓取网站的部分或全部内容. 下面我们就来 ...
- Natas3 Writeup(爬虫协议robots.txt)
Natas3: 页面提示本页面什么都没有. 在源码中发现提示:无信息泄露,谷歌这次不会发现它.提到了搜索引擎,猜测爬虫协议robots.txt中存在信息泄露,访问网站爬虫协议http://natas3 ...
- robots.txt用法
主要作用是告诉蜘蛛爬虫该网站下哪些内容能抓取,哪些内容不能抓取.虽然可以没有robots.txt这个文件,默认就抓取该网站的所有文件,对搜索引擎爬虫没有任何的影响,但是如果你想控制蜘蛛的检索间隔,你就 ...
- nginx下禁止访问robots.txt的设置方法
关于robots.txt文件:搜索引擎通过一种程序robot(又称spider),自动访问互联网上的网页并获取网页信 息.您可以在您的网站中创建一个纯文本文件robots.txt,在这个文件中声明该网 ...
- [nginx]Nginx禁止访问robots.txt防泄漏web目录
关于robots.txt文件:搜索引擎通过一种程序robot(又称spider),自动访问互联网上的网页并获取网页信 息.您可以在您的网站中创建一个纯文本文件robots.txt,在这个文件中声明该网 ...
- 如何设置网站的robots.txt
做过网站优化的朋友都知道,搜索引擎蜘蛛爬行抓取网站时首先会去访问根目录下的robots.txt文件,如果robots文件存在,则会根据robots文件内设置的规则进行爬行抓取,如果文件不存在则会顺着首 ...
- web之robots.txt
什么是roots协议 robots协议也叫robots.txt(统一小写)是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不应被 ...
随机推荐
- HDOJ 4267 A Simple Problem with Integers (线段树)
题目: Problem Description Let A1, A2, ... , AN be N elements. You need to deal with two kinds of opera ...
- 移植busybox构建最小根文件系统
Busybox:瑞士军刀,里面装有很多小命令. STEP 1:构建目录结构 创建根文件系统目录,主要包括以下目录/dev /etc /lib /usr /var /proc /tmp /hom ...
- 纪念一下我对Kalman的无限崇拜之情
今天用Kalman来求线性预测模型的系数,和LMS一对比,天啦噜,我感叹了半小时... 和LMS需要选合适的步长,样本序列需要足够长,迭代次数需要足够多,相比,卡尔曼真是帅呆了!不需要步长!不需要蒙特 ...
- 在operator =中要处理“自我赋值”
防止自我赋值很有必要 Widget w; w = w; a[i] = a[j]; //a[i]和a[j]实际上指向同一个元素 *pi = *pj; //pi和pj实际上指向同一个元素 自我赋值的危害: ...
- xtrabackup
mysqldump备份方式是采用逻辑备份,其最大的缺陷就是备份和恢复速度都慢,对于一个小于50G的数据库而言,这个速度还是能接受的,但如果数据库非常大,那再使用mysqldump备份就不太适合了.而使 ...
- C#中lock死锁实例教程
这篇文章主要介绍了C#中lock死锁的用法,对于共享资源的访问及C#程序设计的安全性而言,有着非常重要的意义!需要的朋友可以参考下 链接:http://www.jb51.net/article/543 ...
- swift 学习- 21 -- 类型转换
// 类型转换 可以判断实例的类型, 也可以将实例看做其父类的或者子类的实例 // 类型转换在 Swift 中使用 is 和 as 操作符实现, 这两个操作符提供了一种简单达意的方式去检查值的类型 或 ...
- 【MySql】Order By 排序
你可以使用任何字段来作为排序的条件,从而返回排序后的查询结果. 你可以设定多个字段来排序. 你可以使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列. 默认情况下,它是按升序排列. 你 ...
- InstallUtil操作WindowsService
要安装windows service 首先要找到 InstallUtil.exe,InstallUtil.exe位置在 C:\Windows\Microsoft.NET\Framework\v4.0. ...
- 查看MySQL版本的命令及常用命令
Windows / Linux 系统 前提是已经正确安装了 MySQL,打开 Windows 系统中的命令行工具(Win + R --> 输入 cmd 并按下回车键)--> 输入命令: m ...