2014-09-26 1 views
0

По той или иной причине у меня есть сайт, на котором выполняется выход из системы, после чего пользователь перенаправляется на отдельный участок посадки (посадка размещается в Azure, основная часть находится в другом месте). В MVC, действие выхода из системы используется следующее (VB) код:В гибридном приложении asp.net mvc/webforms, почему у моего перенаправления есть MIME «text/plain»?

Function LogOut() As ActionResult 
    Session.Abandon() 
    FormsAuthentication.SignOut() 
    Return Redirect("~/") 
End Function 

И это делает то, что он должен делать, но после последнего обновления (пытались использовать некоторые биты из html5boilerplate - только некоторые CSS, и некоторые заголовки безопасности), в Chrome только, есть краткая вспышка этого перенаправления кода перед пользователем отправляются обратно к месту посадки:

<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

Оказалось, что я непреднамеренно установил X-Content-Type-Options на nosniff, а в Chrome - если MIME не установлен, он хочет «понюхать», посмотрев содержимое. Явным образом отказавшись от него, браузер не имел возможности использовать текст/plain.

TL; DR - Убедитесь, что X-Content-Type-Options не установлен.

Смежные вопросы