Если я создаю iframe
как это:
var dialog = $('<div id="' + dialogId + '" align="center"><iframe id="' + frameId + '" src="' + url + '" width="100%" frameborder="0" height="'+frameHeightForIe8+'" data-ssotoken="' + token + '"></iframe></div>').dialog({
Как я могу исправить ошибку:
Отказался отображать
'https://www.google.com.ua/?gws_rd=ssl'
в кадре, потому что он установил «X-Frame-Options» на «SAMEORIGIN».
с JavaScript?
javascript
jquery
x-frame-options
Дариен Фоукс
источник
источник
X-Frame-Options
является заголовком, включенным в ответ на запрос, чтобы указать, позволит ли запрашиваемый домен отображаться в кадре. Он не имеет ничего общего с javascript или HTML и не может быть изменен отправителем запроса.Этот веб-сайт установил этот заголовок, чтобы запретить его отображение в
iframe
. Клиент ничего не может сделать, чтобы остановить это поведение.Дальнейшее чтение по X-Frame-Options
источник
Если вы контролируете Сервер, который отправляет содержимое iframe, вы можете установить этот параметр на
X-Frame-Options
своем веб-сервере.Настройка Apache
Чтобы отправить заголовок X-Frame-Options для всех страниц, добавьте это в конфигурацию вашего сайта:
Конфигурирование nginx
Чтобы настроить nginx на отправку заголовка X-Frame-Options, добавьте его в конфигурацию http, сервера или местоположения:
Нет конфигурации
Этот параметр заголовка является необязательным, поэтому, если этот параметр вообще не установлен, вы сможете настроить его для следующего экземпляра (например, для браузера посетителей или прокси-сервера).
источник: https://developer.mozilla.org/en-US/docs/Web/HTTP/X-Frame-Options
источник
add_header Strict-Transport-Security "max-age=86400; includeSubdomains"; add_header X-Frame-Options DENY;
из фрагментов nginx, а затем все сразу заработало.Поскольку решение не было упомянуто для серверной стороны:
Нужно установить такие вещи (пример из Apache), это не лучший вариант, так как позволяет во всем, но после того, как вы увидите, что ваш сервер работает правильно, вы можете легко изменить настройки.
источник
не очень ... я использовал
источник
и если ничего не помогает, и вы все еще хотите представить этот сайт в iframe, подумайте об использовании компонента X Frame Bypass, который будет использовать прокси.
источник
X-Frame-Options HTTP - заголовок ответа может быть использован , чтобы указать , должен ли браузер разрешено отобразить страницу в
<frame>
,<iframe>
или<object>
. Сайты могут использовать это, чтобы избежать атак с использованием кликов, гарантируя, что их контент не будет встроен в другие сайты.Для получения дополнительной информации: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
У меня есть альтернативное решение этой проблемы, которое я собираюсь продемонстрировать с помощью PHP:
iframe.php:
target_url.php:
источник
Для этого вам нужно соответствовать местоположению в вашем Apache или любой другой службе, которую вы используете
Если вы используете apache, то в файле httpd.conf.
источник
Решение - установить плагин для браузера.
Веб-сайт, который выдает заголовок HTTP
X-Frame-Options
со значениемDENY
(илиSAMEORIGIN
с другим источником сервера), не может быть интегрирован в IFRAME ... если вы не измените это поведение, установив плагин Browser, который игнорируетX-Frame-Options
заголовок (например, Chrome Ignore X-Frame Headers ).Обратите внимание, что это не рекомендуется вообще по соображениям безопасности.
источник
вы можете установить x-frame-option в веб-конфигурации сайта, который вы хотите загрузить в iframe, вот так
источник
Вы не можете добавить x-iframe в свое тело HTML, так как он должен быть предоставлен владельцем сайта и находится в рамках правил сервера.
Вероятно, вы можете создать PHP-файл, который загружает содержимое целевого URL-адреса и вставляет этот php-URL, это должно работать без сбоев.
источник
Вы можете сделать это в файле конфигурации уровня экземпляра tomcat (web.xml), добавив 'filter' и filter-mapping 'в файл конфигурации web.xml. это добавит [X-frame-options = DENY] на всю страницу, так как это глобальная настройка.
источник
Если вы следуете XML-подходу, то приведенный ниже код будет работать.
источник