Internet Explorer X-Frame-Options ALLOW-FROM не работает в IE 11 и Edge

У меня возникла проблема с использованием X-Frame-Options для встраивания одного сайта в качестве iFrame в другой (разные домены) с IE 11 и Edge. Мои исследования и опыт показывают, что IE еще не поддерживает предков кадров CSP уровня 2, поэтому я должен использовать X-Frame-Options.

Я добавил заголовок ответа X-Frame-Options: ALLOW-FROM https://<mysite>.com на сайт, который необходимо внедрить.

Это защищенные сайты, поэтому я не могу предоставить этому сообществу настоящие URL-адреса.

Когда я запускаю основной сайт, который содержит iFrame с содержимым со второго сайта, я вижу заголовок X-Frame-Options в ответе на содержимое iframe, и он выглядит правильно. Однако IE указывает, что "...изменил эту страницу, чтобы предотвратить межсайтовый скриптинг", а мой фрейм содержит только символ #.

Из-за сроков и внутренних задержек ИТ я не могу разместить оба сайта в одном домене.

Может ли кто-нибудь помочь объяснить, что я сделал неправильно при реализации X-Frame-Options или есть ли другой вариант для достижения желаемого эффекта?


person DarrenZ_JLL    schedule 08.08.2016    source источник
comment
Пожалуйста, проверьте поддержку браузера для ALLOW-FROM https://www.owasp.org/index.php/Clickjacking_Defense_Cheat_Sheet#Browser_Support   -  person Rohit    schedule 08.08.2016
comment
OWASP указывает на поддержку Allow-From, начиная с IE9 и выше. Моя проблема связана с IE 11 и Edge, с Win 8 и 10. Это может быть проблема с Win7, но я еще не смог это проверить.   -  person DarrenZ_JLL    schedule 09.08.2016


Ответы (2)


IE 11 не соответствует стандарту, что означает, что нельзя использовать «*», поэтому необходимо указать доменное имя с http/https.

  def cors_set_access_control_headers
    headers["Access-Control-Allow-Origin"] = "*"
    headers["Access-Control-Allow-Methods"] = "GET"
    headers["Access-Control-Request-Method"] = "*"
    headers["Access-Control-Allow-Headers"] = "Origin, X-Requested-With, Content-Type, Accept, Authorization"
    headers["X-Frame-Options"] = "ALLOW-FROM http://172.16.1.159"
    headers["X-XSS-Protection"] = "0"
  end
person Eric Guo    schedule 24.07.2019

Выяснилось, что проблема не в фреймах. Содержимое во фреймах имело ту же ошибку/примечание XSS при доступе напрямую и через встроенный iframe. Время отображения ошибки сбило меня с толку, поскольку оно совпало с реализацией предков кадров CSP уровня 2.

Я открыл дело с MS, чтобы определить, что в содержании не нравится механизму XSS, и мне пришлось отключить XSS в браузерах IE с заголовком ответа X-XSS-Protection:0.

person DarrenZ_JLL    schedule 09.08.2016