Intereting Posts
Почему Google индексирует дружественный URL-адрес, смешанный с дефисами и% 20? Удалите / замените поле имени пользователя по электронной почте с помощью FOSUserBundle в Symfony2 / Symfony3 Как -13% 64 = -13 в PHP? Распаковка обновления … Не удалось создать каталог. WordPress Проверьте, изменился ли удаленный файл Повторить результат для num строк в php следующий и предыдущий месяц из данного месяца в php что означает новый статический? Продукты Woocommerce, показывающие сообщение «Нет на складе», когда на самом деле нет на складе Paypal перенаправляет на успех после оплаты, не добавляя его в базу данных. Мне нужно восстановить базу данных (mysql) каждые 30 минут, используя работу cron Записывать переменные среды apache и читать их в php-скрипте Как запустить shtml включить в php Как получить текст в массиве между всеми тегами <span> из HTML? Быстрый способ (или альтернативный путь) для динамической загрузки 40000 ссылок на карту изображения?

Как предотвратить загрузку моей страницы сайта на другой веб-сайт iframe?

У нас много игровых сайтов, среди которых я принимаю эксклюзивные игры на своем сервере, и я не хочу получать доступ к своим играм другим сайтам с моего сервера. Я хочу ограничить их доступ к моему контенту с моего сервера.

Например, предположим, что у меня есть веб-сайт под названием www.abc.com , на исходном пути, например www.abc.com/games/abcgame.swf в котором я разместил свои эксклюзивные игры. Поскольку я хочу, чтобы другие владельцы сайтов не имели доступа к этому контенту. Если они украдут этот URL и попытаются получить доступ, я хочу показать какое-то пользовательское сообщение, например «Игра не найдена» или somthig, как «Пожалуйста, посетите сайт www.abc.com чтобы играть в эту игру» и т. Д.

Может ли кто-нибудь идеи реализовать эту функцию?

Solutions Collecting From Web of "Как предотвратить загрузку моей страницы сайта на другой веб-сайт iframe?"

Первым решением является использование заголовка X-Frame-Options для предотвращения загрузки вашей страницы в iframe. X-Frame-Options могут указывать одно из двух значений: SAMEORIGIN , который разрешает только iframe из одного источника, чтобы отображать это содержимое, и deny , что предотвращает выполнение любого iframe. НО этот заголовок не является частью спецификации HTTP и был представлен Microsoft, поэтому не все браузеры поддерживают этот заголовок. Пример X-Frame-Options :

 X-Frame-Options: SAMEORIGIN 

Если некоторые старые браузеры не поддерживают заголовок X-Frame-Options . Вы можете попробовать технику под названием FrameKiller . Однако есть ограничения, как указано в этой ссылке.

Пользовательский агент не поддерживает JavaScript.

Пользовательский агент поддерживает JavaScript, но пользователь отключил поддержку.

Поддержка JavaScript агента пользователя ошибочна или частично реализована.

Идея заключается в использовании javascript для определения того, загружена ли ваша страница в iframe. Существует множество способов реализации сценария убийцы кадров.

Для вашего требования вы можете реализовать сценарий убийцы кадров следующим образом: попробуйте обратиться к родительскому окну, чтобы прочитать окно. Если они включают вашу страницу внутри своего iframe, код будет генерировать исключение (междоменное)

Пример кода:

 window.onload = function(){ try { if (window.parent && window.parent.location.hostname !== "www.abc.com"){ throw new Error(); } } catch (e){ alert("Please visit www.abc.com to play this game."); //You could do whatever you want here } } 
 if (window.top != window.self) { window.top.location = window.self.location; } 

Сначала он проверяет, что самый верхний кадр – это сам кадр или нет, если он не изменяет кадр верхнего уровня на этот. это javascript.

Выполнение этого с помощью JavaScript ограничено тем, как он будет ограничивать контент на уровне браузера. Возможно, вам лучше mod_rewrite Apache mod_rewrite для более эффективного блокирования контента на уровне сервера, как описано здесь .

Например, этот код можно разместить в файле .htaccess если ваш сервер поддерживает его. Я использую www.abc.com как пример и соответствующие swf и fla файлы в качестве примера:

 RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www\.)?abc.com/.*$ [NC] RewriteRule ^.*\.(swf|fla)$ - [F]