分享技术,记录生活,在互联网上留下属于自己的一亩三分地。

修复360安全检测提示的发现robots文件漏洞

默认笔记 novadmin 251℃ 0评论

1、首先了解一下什么是robots.txt?

robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。

您可以在您的网站中创建一个纯文本文件robots.txt,在这个文件中声明该网站中不想被robot访问的部分,这样,该网站的部分或全部内容就可以不被搜索引擎收录了,或者指定搜索引擎只收录指定的内容。
robots.txt(统一小写)是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不能被搜索引擎的漫游器获取的,哪些是可以被(漫游器)获取的。 因为一些系统中的URL是大小写敏感的,所以robots.txt的文件名应统一为小写。robots.txt应放置于网站的根目录下。如果想单独定义搜索引擎的漫游器访问子目录时的行为,那么可以将自定的设置合并到根目录下的robots.txt,或者使用robots元数据。
Robots.txt协议并不是一个规范,而只是约定俗成的,所以并不能保证网站的隐私。注意Robots.txt是用字符串比较来确定是否获取URL,所以目录末尾有和没有斜杠“/”这两种表示是不同的URL,也不能用”Disallow: *.gif”这样的通配符。

2、解决办法

对非蜘蛛抓取 robots.txt 行为一律返回403,其表达的意思是:robots.txt 只针对搜索蜘蛛开放。要想实现这种效果并不难,只要在 Nginx 配置中加入如下代码即可:

加入以下参数到nginx配置中

#如果请求的是robots.txt,并且匹配到了蜘蛛,则返回403
location = /robots.txt {
    if ($http_user_agent !~* “spider|bot|Python-urllib|pycurl”) {
        return 403;
    }
}

 

加入后reload以下Nginx,然后再到浏览器访问robots地址,应该能看到禁止访问403了。

百度robots检测正常!

转载请注明:Nov » 修复360安全检测提示的发现robots文件漏洞

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址