как только сайт может получить доступ из iframe

Кто-нибудь может мне помочь, пожалуйста! У меня есть эти сайты: domain.com, domain.com/site2, domain.com/site3, и site4.domain.com. Сайт 1,2 и 3 — WordPress, а site4 — сайт php. На сайте 1 (domain.com) я создаю боковую панель, и моя цель состоит в том, чтобы при доступе пользователей ко всем моим сайтам они все еще могли использовать мою боковую панель, поэтому я встраиваю / iframe site2,3 и 4 на страницу сайта 1, используя предварительный iframe. профи. Как сделать так, чтобы сайты 2,3 и 4 можно было открывать или открывать только с сайта 1? Например, я вставляю / вставляю сайт 2 в domain.com/mypage, чтобы при открытии пользователем domain.com/mypage сайт 2 открывался через iframe. Но когда пользователь получает прямой доступ с domain.com/site2, он перенаправляется на site1 (domain.com/mypage) или видит только пустую страницу.
Я попытался изменить .htaccess следующим образом:

{

order deny,allow
deny from all
allow from domain.com/site2/12345

}

и в iframe: [iframe src="domain.com/site2/12345"]

но это не работает. Когда я обращаюсь напрямую через url domain.com/site2, он показывает 404 на site1, а когда я получаю прямой доступ к domain.com/site2/12345, он может открыть site2, но в iframe он показывает 404 site1 … (не использовать https: / / whe использовать https: // он показывает 404 site1, но когда используется только www.domain.com/site2/12345, он может открыть site2)

0

Решение

Я думаю, что знаю, что вы пытаетесь сделать, и в этом случае я думаю, что это сработает, но я не проверял это (подайте заявку на другие iframes и домены, как считаете нужным).

сайт 2/3 / 4.com

if (isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'] == 'http://domain1.com') {
include_once('sidebar.php');
} else {
header('Location: http://domain1.com');
}

site1.com

<iframe src="http://domain2.com" frameborder="0"></iframe>

Возможно, я неправильно понял требования, но это должно показать содержимое вашей боковой панели, если есть реферал, а если нет, он будет перенаправлен на domain1.com.

Более надежный способ (в случае, если реферер по какой-то причине не заполнен) может заключаться в добавлении параметра url в iframe. src атрибут, например

<iframe src="http://domain2.com?iframe=1" frameborder="0"></iframe>

а затем проверить это

if (isset($_GET['iframe']) && $_GET['iframe'] == '1') {
include_once('sidebar.php');
} else {
header('Location: http://domain1.com');
}

но это также легко манипулировать, лучше может быть использование токена / хэша вместо этого.

0

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector