nextjs 中 allowed-list 的引荐来源 header

allowed-list of referrer header in nextjs

你好吗?

我有一个关于 header 推荐人的问题。 在对 nextjs 中我的应用程序的渗透测试分析中,我被告知它允许将不同的 header 引荐来源网址传递给允许的引荐来源网址。为此,我必须实施一个白名单,如果引用 header 不同,则不允许访问资源。

我留个观察图

Referrer header edited

你知道我如何从 NextJs 实现这个验证吗?

我会要求你在你的应用程序前面加上一个层,而不是为 referrer 白名单实现 NextJS,你可以使用 CDN 或 Nginx 代理

  • 对于 CDN,使用类似 Cloudflare 的 referrer 白名单
  • 另一种选择是使用 nginx referrer policies

如果这些都不是选项,那么您可以构建一个自定义的 nextjs 服务器 https://nextjs.org/docs/advanced-features/custom-server 然后查看 req 对象以使您的响应有条件,即发送到 403 页面。