как отобразить другой сайт в iframe, несмотря на X-Frame-Options

Я создал сайт, на котором перечислены ссылки на внешние веб-сайты по определенной теме, а затем, когда пользователь нажимает на такие ссылки, ссылки открываются в iframe. Он работает локально, но на моем сервере общего хостинга каждая ссылка, по которой щелкают, открывается в полном браузере (как если бы для цели было установлено значение «_top» вместо «myIFRAME»). Я попытался добавить файл .htaccess в свой корень следующим образом:

Header always append X-Frame-Options ALLOWALL

и это:

add_header X-Frame-Options "ALLOWALL"

а также это:

Header always append X-Frame-Options ALLOW-FROM http://www.example.com

В каждом из этих случаев я проверил с помощью Google Chrome Dev Tools, что заголовки были установлены, и они были, но страницы продолжают открываться в основном браузере.

Есть ли что-нибудь еще, что я могу сделать?

Или мое единственное решение заменить iframe на устаревшие?

Спасибо


person marcnyc    schedule 17.06.2016    source источник


Ответы (2)


На самом деле я смог заставить его работать.

Я добавил:

    <base target="myTargetFrameID">

в разделе моего основного html файла. И я также добавил это:

Header always unset X-Frame-Options

в файл .htaccess в папке скрипта (о котором я читал здесь: http://osric.com/chris/accidental-developer/2016/02/per-directory-x-frame-options-header-apache/)

Работает сейчас. Спасибо

person marcnyc    schedule 17.06.2016

Вы не можете, и нет обходного пути. Наборы фреймов также не будут работать; X-Frame-Options применяется ко всем типам фреймов, а не только к iframe.

Заголовок X-Frame-Options предназначен для того, чтобы веб-сайт не отображался во фрейме. Вы не можете переопределить его, установив заголовки на странице в своем собственном домене; это сделало бы заголовок бесполезным.

Если вы хотите разместить ссылку на эти сайты, вам нужно будет сделать это в обычном режиме. Вы не можете отображать их в кадрах.

person Community    schedule 17.06.2016
comment
Я в замешательстве... если то, что вы говорите, верно, то почему это работает локально, но не работает, когда я загружаю свой скрипт на веб-сервер? разве это не означает, что это связано с сервером? также некоторые из этих страниц, на которые я ссылаюсь, настолько старые, что я уверен, что они вообще не имеют X-Frames-Options (поскольку это относительно новая вещь) - person marcnyc; 17.06.2016
comment
Теперь я смущен. Название вашего вопроса подразумевало, что X-Frame-Options были задействованы, теперь вы думаете, что это не так? Ссылка на ваш сайт не помешала бы. - person ; 17.06.2016