Почему Iframe не работает для yahoo.com

Я считаю, что это не работает:

<iframe src="http://www.yahoo.com"> </iframe> 

Я прочитал этот вопрос , но я не понимаю, что они означают, добавив:

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

Я попытался добавить это в верхнюю часть моего html-файла (конечно, изменил его на php-файл), и мой php-файл стал:

 <?php header('X-Frame-Options: GOFORIT'); ?> <iframe src="http://www.yahoo.com"> </iframe> 

Я запускаю его в своем appserv (с php 5.2.6), и он не работает. Может ли кто-нибудь объяснить, что я должен сделать, чтобы преодолеть это?

    Вам не повезло: yahoo.com не позволяет вам встраивать свой сайт в iframe. Также не существует Facebook или других популярных сайтов.

    Причиной этого ограничения является щелчок мышью .

    Вы можете проверить это, проверив заголовки ответов со своего сайта; они указывают X-Frame-Options:SAMEORIGIN что означает, что только yahoo.com может вставлять страницы yahoo.com.

    Некоторые старые браузеры не будут использовать заголовок, но все новые будут. Afaik, нет простого способа обойти это.

    Единственное решение, о котором я могу думать, – это реализовать прокси-скрипт, то есть вы встраиваете сценарий, который живет на вашем сервере, который извлекает удаленный контент для вас.

    Например. ваш iframe называет «/my-proxy.php?url= http://www.yahoo.com/ », и этот скрипт будет выглядеть так:

     <?php header('X-Frame-Options: SAMEORIGIN'); // don't allow other sites to use my proxy echo file_get_contents($_GET['url']); 

    Ваш пробег может варьироваться …

    У вас проблемы с совместным использованием ресурсов Cross-origin. Ознакомьтесь с этими статьями в Википедии CORS и MDN CORS .

    Что касается вашего фрагмента,

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

    необходимо добавить на страницу, которая будет подана, а не на страницу / код, запрашивающий ее, что в этом случае будет yahoo.com . Но, поскольку вы не используете yahoo.com самостоятельно, нет способа добавить его.

    Однако, если вопрос касался ваших собственных страниц, а yahoo.com был всего лишь примером, вы можете просто установить правильные заголовки HTTP, как указано в статьях, и вы были бы хороши.

    Некоторые веб-сайты, такие как google, yahoo, отключили внедрение iframe для своего сайта. Если вы хотите это сделать, возьмите их html с помощью curl или file_get_conents на стороне сервера и покажите его.

    проверьте заголовок HTTP-ответа X-Frame-Option. Я думаю, что для yahoo это должно быть отрицание или sameorigin, что означает, что только страница yahoo может вставлять свои другие страницы в iframe

    Добавьте плагин « Игнорировать X-Frame headers » в goorge chorme, тогда он отлично работает.