robots 与站点地图能提供什么
robots.txt 是站点给爬虫的约定文件,声明允许与禁止抓取的路径;sitemap.xml 则主动列出站点希望被索引的地址。两者都是官方公开内容,整理它们可以快速得到一份目录结构草图与被运营方标记为「不希望被收录」的路径。注意两点:Disallow 只是约定,不构成访问控制;而禁止抓取声明也完全不能授权任何人去访问这些路径,测试范围仍以授权书为准。
基本信息
| 文件位置 | 站点根目录 /robots.txt、/sitemap.xml |
|---|---|
| 内容 | 允许与禁止路径、sitemap 地址、爬虫分组的规则 |
| 用途 | 入口梳理、目录结构理解、历史路径线索 |
| 常用命令 | curl 或浏览器直接访问,均为只读请求 |
| 依据 | Robots 排除标准(RFC 9309) |
典型使用场景
- 目录探测前先看声明路径,减少对目标的无效请求
- 整理后台与接口路径线索,与授权清单对照确认是否可测
- 核对站点的爬虫策略是否符合合规要求(如是否屏蔽敏感目录)
- 发现遗留路径:被 Disallow 的老后台入口可能仍可访问
- 为报告提供依据:说明哪些路径是站点自行公开声明的
梳理命令
梳理命令
curl -s https://example.com/robots.txt # 读取声明,整理 Disallow 与 Allow
curl -s https://example.com/sitemap.xml | head -40 # 读取站点地图的 URL 清单
curl -s -o /dev/null -w '%{http_code}\n' https://example.com/admin/ # 只验状态码
# 记录:路径、来源(robots 或 sitemap)、当前状态码
# 只做状态确认,不深入访问标注为禁止的路径内容内容类型与处置
| 内容类型 | 含义 | 处置 |
|---|---|---|
| Disallow 路径 | 站点不希望对爬虫开放 | 作为线索记录,是否可测看授权范围 |
| Allow 或未声明路径 | 默认允许抓取 | 纳入常规梳理清单 |
| sitemap 中的 URL | 站点希望被收录的公开页面 | 用于补全目录结构,优先级低 |
| 指向 sitemap 的索引文件 | 分站点地图清单 | 逐个子地图展开整理 |
robots 中的 Disallow 是给爬虫的约定,不是访问控制:既不能据此认为路径「禁止访问」,也不能把它当高价值目标清单重点攻击。
robots.txt 有时会直接列出内部系统路径与参数命名,本身就是信息暴露:报告中可建议收敛声明范围,只保留必要的爬虫规则。