指南 · 约 3 分钟阅读

如何添加 security.txt 文件

简短回答:在 /.well-known/security.txt 创建一个纯文本文件,至少包含一行 Contact:(邮箱或网页表单)和一个不超过一年后的 Expires: 日期,并通过 HTTPS 提供。它告诉在你网站上发现安全问题的人如何联系你。

更新于 · HackGrade

快速步骤

  1. 编写文件. 添加 Contact 和 Expires,以及可选的 Preferred-Languages、Canonical 和 Policy 行。
  2. 发布文件. 把它放在你的 HTTPS 网站的 /.well-known/security.txt。
  3. 检查文件. 用 curl 获取它,确认是纯文本。
  4. 更新文件. 在 Expires 日期到来之前更新它。

代码和配置保持英文。

1. 编写文件

security.txt
Contact: mailto:security@yourdomain.com
Expires: 2027-10-31T00:00:00Z
Preferred-Languages: en
Canonical: https://yourdomain.com/.well-known/security.txt
Policy: https://yourdomain.com/security
  • Contact 和 Expires 是必填项。可以写多行 Contact。
  • Expires 使用 ISO 8601 日期格式。RFC 9116 建议设在一年以内。
  • Policy 链接到你的负责任披露页面(如果有)。

2. 发布文件

把它上传到网站根目录下的 .well-known/security.txt(如有需要,先创建 .well-known 文件夹)。在 WordPress 上,可以用主机商的文件管理器或 SFTP 上传。使用 nginx 时,也可以指向其他位置的文件:

nginx
location = /.well-known/security.txt {
    alias /etc/nginx/security.txt;
    default_type text/plain;
}

3. 检查文件

Terminal
curl -si https://yourdomain.com/.well-known/security.txt | head -n 12

你应该看到状态码 200 和 Content-Type: text/plain。可以参考 HackGrade 自己的 security.txt。

4. 保持有效

过期的文件应被视为已失效,所以请在 Expires 日期前一个月设置日历提醒。Contact 请使用共享邮箱,而不是个人地址。

常见问题

法律要求必须有 security.txt 吗?

不要求。它是一个自愿性标准(RFC 9116),但能大大提高问题被报告给你、而不是被公开的可能性。

security.txt 会招来攻击者吗?

不会。它只包含联系方式。请使用共享地址,而不是个人地址。

还需要在 /security.txt 放一份副本吗?

标准位置是 /.well-known/security.txt。从 /security.txt 重定向过去是可选的。

参考资料

相关指南

免费 · 即时 · 无需注册

抢在别人之前了解你的评级。

被动扫描。未经你的许可,不会进行任何攻击性检测。

免费开始。付费套餐每月 12 美元起,或 29 美元购买单次报告。 查看价格