2015-04-28 3 views
2

Могу ли я предотвратить прямой доступ к файлу, но разрешить ли эту страницу встраивать на другую страницу в качестве iframe?Предотвращение прямого доступа к странице, но разрешение на внедрение iframe

Я использую Apache и php на сервере, а файл для включения находится в том же домене.

ответ

0

Возможно, это не лучшее решение (поскольку некоторые браузеры или маршрутизаторы удаляют его), но вы можете использовать значение сервера HTTP_REFERER?

Что-то вроде:

<?php 
if($_SERVER['HTTP_REFERER'] !== 'http://my-domain.com/page-x') { 
    header('HTTP/1.1 403 Forbidden'); 
    exit; 
} 
//rest of code here 
+0

Я подумал об этом, но когда при просмотре в браузере и щелкнув правой кнопкой мыши по iframe и выберете только его, он на самом деле обнаруживает упомянутый основной файл и, следовательно, по-прежнему отображает его. – farjam

0

Нет, вы не можете. Либо вы делаете свою страницу доступной для всех, либо ни для кого.

Вы можете защитить страницу с помощью базовой проверки подлинности, чтобы ограничить доступ пользователей к ней, однако для доступа к ней вам необходимо знать учетные данные для этой страницы. Есть такой вопрос по такой теме: Basic authentication for a url in an iframe.