出于这样或那样的原因,我有一个执行注销的站点,然后用户被重定向到单独的着陆站点(着陆托管在Azure中,主要托管在其他地方)。在MVC中,注销操作使用以下(vb)代码:
Function LogOut() As ActionResult
Session.Abandon()
FormsAuthentication.SignOut()
Return Redirect("~/")
End Function
它做了它应该做的事情,但在最后一次更新之后(试图使用html5boilerplate中的一些位 - 只是一些css和一些安全标题),仅在Chrome中,有' sa在将用户发送回登陆网站之前,请简要刷新此重定向代码:
<html><head><title></title><script language="javascript">window.location = 'http://<site here>';</script></head><body></body></html>
在所有其他浏览器(IE,FF,Safari)中,用户看不到任何异常 - 但Chrome用户会看到原始的html代码。查看Chrome的日志(保留在操作中),我看到有问题的页面正在使用text/plain
而不是text/html
,而我对此原因感到困惑
答案 0 :(得分:0)
事实证明,我无意中将X-Content-Type-Options
设置为nosniff
,而在Chrome中 - 如果未设置MIME,则希望通过查看内容来“嗅探”。通过明确禁止它,浏览器别无选择,只能使用text / plain。
TL; DR - 确保未设置X-Content-Type-Options
。