在混合的asp.net mvc / webforms应用程序中,为什么我的重定向的MIME为' text / plain'?

时间:2014-09-26 19:44:45

标签: asp.net asp.net-mvc webforms

出于这样或那样的原因,我有一个执行注销的站点,然后用户被重定向到单独的着陆站点(着陆托管在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,而我对此原因感到困惑

1 个答案:

答案 0 :(得分:0)

事实证明,我无意中将X-Content-Type-Options设置为nosniff,而在Chrome中 - 如果未设置MIME,则希望通过查看内容来“嗅探”。通过明确禁止它,浏览器别无选择,只能使用text / plain。

TL; DR - 确保未设置X-Content-Type-Options