您的位置:首页 > 运维架构 > 网站架构

如何防止利用robots.txt查找到网站后台

2014-05-12 08:27 288 查看
网站的robots.txt的目的是告知搜索引擎,哪些目录不可以访问和收录。当搜索爬虫访问你的站点时,它会首先检查你站点根目录下是否有robots.txt文件,如果有,搜索引擎机器人就会根据此文件中的内容来确定访问的范围;如果不存在robots.txt,所有的搜索蜘蛛将可以访问你网站上的所有页面。这将给网站带来安全隐患。

例如:通过google搜索“.com/admin/login.asp”就会出现一堆网站的后台,将后台暴露给他人,带来极大的安全隐患。

  那么如何防止黑客通过robots.txt看到你的后台呢?

  方法一:

  假设我们后台目录是 /dedeadmin/,那么我们可以在设置的时候这样写:

  User-agent: *

  Disallow: /ded

  Disallow: /ded

  关键在第二句,这样写就会阻止搜索引擎访问任何以“ded”开头的文件和目录。为了防止别人猜出你的后台目录,这里截取的越短越好,比如:

  User-agent: *

  Disallow: /d

  这样,同样起到作用,但留的字母更少,更难猜了,这时会阻止搜索引擎访问所有以d”开头的文件和目录。

  这里我们需要注意的问题是,为了避免影响其它目录的收录,可以修改一下后台目录文件名。如果后台目录以某个字母或几个字母开头,那就避免其它需要被收录的文件或目录以这几个字母开头,这样就可以了。

  方法二:

  后台目录做个首页文件, 跳转到真正的后台首页文件.

  比如说, 后台首页是index.php, 而服务器优先index.html

  写个index.html文件, 跳转到index.php

  index.html文件在<head>中加入

  <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">,

  搜索爬虫就不会继续到该目录下的其他页面了

  注:

  NOINDEX指令:表示拒绝搜索机器人索引本页,但可跟踪该页上的链接;

  NOFOLLOW指令:表示拒绝机器人跟踪本页链接,但可索引本页。

  还可以加入,NOARCHIVE:告诉Google不要保存含此标签的网页的快照。

  补充:

  只是拦截百度蜘蛛爬取网页,而允许其他搜索引擎收录:

  <META NAME="baiduspider" CONTENT="NOINDEX, NOFOLLOW">

  允许搜索引擎收录你的网页,但禁止其收录网页上的图片:

  <META NAME="ROBOTS" CONTENT="NOIMAGEINDEX">

  如果是linux+apache, 还可以用.htaccess文件限制

写的很好吧,robots.txt很重要,希望上面的设置对大家有所帮助。

本文来自: 51模板集(www.51mubanji.com)
详细出处参考:http://www.51mubanji.com/xsb/391.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: