Сделать веб-страницу не встраиваемой

1

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

Есть ли способ сделать это? Я заметил, что Vimeo предлагает премиум-пользователям установить список доменов, на которые может быть встроено видео, поэтому я предполагаю, что это возможно в некотором роде, несмотря на то, что я ничего не нашел...

Благодарю!

  • 0
    использовать маску в URL-адресе, контролировать доступ с помощью системы учетных данных для входа ...
Теги:
embed
iframe

2 ответа

1
Лучший ответ

Вы можете включить javascript-код на страницы, которые не разрешены как/в iframe, который перенаправляет верхний кадр, а iframe становится бесполезным в большинстве случаев.

if ( window.self !== window.top ) {
    window.top.location.href = window.location.href;
}

Большинство современных браузеров также уважают X-FRAME-OPTIONS заголовочного поля, которые могут быть установлены на DENY (страница не отображалась внутри фреймов) или SAMEORIGIN (то же, что и DENY, но только если домен отличается от него).

0

Посмотрите на реферера.

if (!in_array($_SERVER['HTTP_REFERER'], $allowedReferers)) {
    // STOP !!!!
    echo "not today baby!";
    die();
}

// GO !!!!
  • 0
    $_SERVER['HTTP_REFERER'] не всегда надежен => stackoverflow.com/a/6023980
  • 0
    @ Фред-ага, полностью согласен. Лучше всего использовать комбинацию PHP для просмотра HTTP_REFERER и JS для проверки вещей в начале рендеринга.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню