Как остановить процесс php в iframe?

У меня есть ссылка на ротатор, и я не хочу, чтобы люди открывали ее в iframe.

Как остановить процесс php в iframe?

header("X-FRAME-OPTIONS: DENY");

не работает в Firefox и Chrome. моя ссылка (ИЗМЕНЕНА)

3 ответа

Проверьте заголовок Access-control-allow-origin.

Это позволяет вам контролировать, к какому домену можно обращаться или создавать ваши сценарии.

Вы можете выбрать между 3 значениями:

  • Только из одного домена
  • Только с домена, указанного в списке, который вы создали
  • От кого-либо (подстановочный знак)

Поскольку PHP никогда не находится в iframe, но выполняется на стороне сервера, нет способа достоверно узнать, произошел ли запрос от iframe на вашем сайте.

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

Обновление из-за комментария:

Тогда, к сожалению, не существует хорошего стандартизированного способа надежного получения информации такого типа. Если вы сами создали на своем сайте iframe и по какой-то причине не хотели, чтобы он мог вызывать ваш скрипт, вы, вероятно, могли бы сделать это, добавив некоторые параметры GET через javascript или что-то в этом роде. Но так как у вас довольно хороший контроль над собственными фреймами, это не должно быть проблемой.

Но когда дело доходит до определения запроса от браузера к вашему серверу, инициированного в iframe или нет, в заголовке HTTP нет информации, чтобы раскрыть это. Единственное, о чем вы можете быть информированы, - это если iframe со страницы, размещенной в другом домене.

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

Я не совсем уверен, понимаю ли я ваш вопрос, но вот список вещей:

  • Если вы хотите остановить загрузку вашей страницы в iframe, сделать это непросто, если браузер игнорируетX-Frame-Options: DENY.
  • Если у вас есть ссылка, которую пользователь может щелкнуть и которая открывается в iframe, а не в родительском фрейме, вы можете использовать тег html, чтобы указать браузеру открывать любые ссылки, которые вы щелкаете в родительском фрейме, с<base target="_parent" />
  • Если вы хотите автоматически перенаправить, и это вызывает проблему при загрузке в iframe, потому что вы используете для этого заголовки или что-то в этом роде, вы, вероятно, могли бы использоватьbaseтег и немного javascript для автоматизации нажатия на ссылку в качестве альтернативы
Другие вопросы по тегам