将 X-Content-Type-Options 添加到 web.config 会导致返回页面源代码?

Adding X-Content-Type-Options to web.config causes page source to be returned?

提问人:anotherWebDev 提问时间:10/27/2023 最后编辑:anotherWebDev 更新时间:10/27/2023 访问量:29

问:

如果这是一个基本问题,我深表歉意,但这里是:

.NET Core 网站的 web.config 中设置 HTTP 标头时,我遇到了一个令人困惑的问题

在“customHeaders”元素中,我添加了值为“nosniff”的“X-Content-Type-Options”标头。

Custom headers


在添加此内容之前,服务器响应显示“Content-Type”标头 Chrome DevTools - response headers before setting X-Content-Type-Options


但是,一旦设置了“X-Content-Type”标头,就不会返回“Content-type”标头 Chrome DevTools - response headers after setting X-Content-Type-Options


此外,网站现在显示页面源,而不是呈现的页面/内容: Page source returned instead of rendered content


读到这里,我看到设置“X-Content-Type-Options”标头应该只是

  • 指示“Content-Type”标头中的 MIME 类型应遵循且不更改
  • 防止 MIME 类型嗅探

关于多个资源(MDN、OWASP)的建议指出,这两个标头应该一起使用,并且应该设置为通过“站点安全测试”。


问题

  • “页面源”响应可能是由于服务器上的应用程序代码从“Content-Type”标头中的“text/html”剥离或更改MIME类型?
  • 为什么设置“X-Content-Type-Options”会导致服务器执行此操作?

尝试过的内容

  • 加载不带“X-Content-Type-Options”标头的网站,在 Chrome DevTools 中检查
  • 将“X-Content-Type-Options”标头添加到“web.config”文件,重新加载站点并比较标头作为响应

期望

  • 设置两个标题将正常呈现页面,并禁用 MIME 类型嗅探

来源:


对此的任何建议将不胜感激!谢谢。

.net http-headers web-config 内容类型 x-content-type-options

评论


答: 暂无答案