X-Frame-Options SAMEORIGIN блокирует iframe в моем домене

я использую http://www.jacklmoore.com/colorbox для отображения содержимого URL-адреса в лайтбоксе. после реализации colorbox ничего не показал.

Позже я заметил следующую ошибку в журналах Chrome:

Refused to display document because display forbidden by X-Frame-Options.

поэтому после документирования я добавил следующую строку в корень .htaccess веб-сайта:

Header always append X-Frame-Options SAMEORIGIN

чтобы разрешить встраивание iframe в мой собственный домен.

Но я все еще получаю сообщение об ошибке, я новичок в x-frame и работаю над существующим приложением, поэтому я подумал, что решение .htaccess будет хорошим, но можно ли его переопределить каким-то кодом? Обратите внимание, что его нет в конфигурации сервера.


person SupFrig    schedule 29.08.2012    source источник


Ответы (5)


Попробуйте отправить другой заголовок X-Frame-Options, добавьте

<?php header('X-Frame-Options: GOFORIT'); ?>

вверху вашей страницы. Это должно отключить команду SAMEORIGIN.

person bogatyrjov    schedule 30.08.2012
comment
я протестировал его безуспешно, затем я сдался и сделал свой попин встроенным ›. ‹ Но это все равно странно, SAMEORIGIN должен позволять мне встраивать iframe в мой домен. - person SupFrig; 30.08.2012
comment
После того, как я попробовал целую кучу других исправлений, чтобы Wordpress отображался в iFrame, это, НАКОНЕЦ, было тем, что заставило его работать для меня! - person dano; 06.08.2014
comment
Привет, я пытаюсь это сделать, но у меня ничего не получается, потому что вы сказали мне, где мне нужно разместить это на моем сайте WordPress? Благодарность - person Laranja Mecânica; 03.10.2016
comment
Гораздо более безопасный вариант — <?php header("X-Frame-Options: allow-from https://example.com/"); ?>, где https://example.com — это сайт, которому вы хотите разрешить отображать страницу в iframe. (Документация) - person rinogo; 02.11.2018

Согласно страницам moz dev. Вот определение

SAMEORIGIN
Страница может отображаться только во фрейме того же источника, что и сама страница.

Это означает, что только если вы включите какую-либо страницу с вашего сайта, она будет показана.
Предположим,

  1. у вас есть веб-сайт на http://foo.com, и вы хотите, чтобы что-то отображалось в iframe из http://foo.com/sec_page, он будет отображаться в iframe.
  2. но если вы встроите тот же iframe(http://foo.com/sec_page) для загрузки в http://bar.com, тогда ничего не будет отображаться. Поскольку происхождение будет изменено.

Вы можете прочитать полное примечание здесь

person Hammad    schedule 27.12.2012

Вы можете удалить заголовок из полученного ответа:

header_remove("X-Frame-Options");

person user_stackoverflow    schedule 27.09.2013

Я добавил это в httpd.conf:

 Header unset X-Frame-Options

И это работает.

person user3467449    schedule 27.12.2016

Установите для параметров XFrame значение DENY или Sameorigin. В противном случае это может помочь в создании фишинговых атак или внедрении фреймов, если ваш сайт уязвим для атаки XSS.

person AvinashSinha IT-SecurityExpert    schedule 04.02.2014