2012-09-29 4 views
0

Что касается X-Frame-Options (https://developer.mozilla.org/en-US/docs/The_X-FRAME-OPTIONS_response_header), мне немного сложно разобрать, что говорят документы и что я вижу. Я понимаю, что когда страница возвращает SAMEORIGIN, браузеры будут загружать только содержимое фрейма, если страница с IFRAME поступает из того же домена.Понимание HTTP-заголовка X-Frame-Options

У меня три машины. Когда я вошел в SERVER-A, я перехожу на страницу, размещенную на сервере SERVER-A. Он содержит IFrame, который загружает страницу из SERVER-B, но находится в другом домене. Все это работает ... но когда я перехожу на SERVER-C и просматриваю одну и ту же страницу (она подается от SERVER-A), она не будет загружаться. Если посмотреть на инструменты отладки IE, запрос на эту страницу IFramed показывает статус прерванного.

Идеи?

ответ

0

Это работает так, как вы ожидали от сервера C - вы заявили, что iFrame не должен загружаться на страницу из другого домена в X-Frame-Options, и это не так. Эта политика безопасности не применяется для страниц, загружаемых с localhost, что похоже на то, что происходит здесь, когда вы находитесь на сервере A, аналогично this situation.

Вы не указали, какая из страниц, на которые вы применили X-Frame-Options, имеет значение: важно, чтобы она была на странице в iFrame (то есть на сервере B в вашей настройке). Я не думаю, что применение заголовка к серверу A будет иметь значение.

+0

Я не указал, вы правы. Страницы, обслуживаемые SERVER-A, имеют один URL (URL-A), а серверы SERVER-B - URL-B. Страницы, созданные с помощью URL-B, являются единственными, у которых установлен X-Frame-Options. Хм ... применил бы ваш комментарий к localhost, даже если они действительно происходят из разных доменов? –

+0

Да - похоже, что ваш тест доказывает, что IE (по крайней мере, для ваших настроек безопасности) не применяет эти ограничения безопасности к iframes на страницах, загруженных с localhost. Если сервер A имеет внешний адрес, я бы ожидал, что ограничения будут применяться при доступе к нему, независимо от происхождения запроса. –