Как разрешить встраивание iframe только для сайтов из белого списка?

У меня есть форма, которую я хотел бы добавить на веб-сайт, который находится в моем белом списке.

Другие веб-сайты, которые пытаются встроить его, должны получить только страницу с ошибкой.

<iframe src="https://domain.tld/getForm.php?embed=1&formId=123456"></iframe>

Я надеялся, что смогу использовать $_SERVER['HTTP_REFERER'] в getForm.php проверить сайт встраивания, но он не работает.

Кто-нибудь знает лучшую практику или любой обходной путь?

Заранее спасибо!

4

Решение

Большинство браузеров поддерживают заголовок X-Frame-Options.

Этот заголовок запретит доступ:

X-Frame-Options: SAMEORIGIN

И этот заголовок, чтобы разрешить доступ:

X-Frame-Options: ALLOW-FROM [uri]

Примеры для вариантов:

X-Frame-Options: DENY
X-Frame-Options: SAMEORIGIN
X-Frame-Options: ALLOW-FROM https://example.com/

Пример в PHP:

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

Вы можете прочитать далее здесь:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options

Надеюсь, это поможет немного!

8

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]