Запретить загрузку htm-страницы за пределы родительской php-страницы - PullRequest
2 голосов
/ 29 июня 2011

У меня есть страница thisfile.htm, которая включена в thisfile.php

Раньше я загружал thisfile.htm в iframe на thisfile.php, но из-за проблем с прокруткой iPad я недавно преобразовал все в прокрутку div и включений php.

Мне нужно, чтобы файл htm не загружался независимо от родительского элемента php. Когда я использовал iframes, у меня не было проблем с этим при использовании некоторого JavaScript. Но я не могу заставить его работать с моим php include - я получаю цикл.

Это у ребенка:

<script type="text/javascript">

if(top.location.href==self.location.href) {

location.replace("thisfile.php");

}

</script> 

Это в родительском:

<div class="bigdiv"><?php include "thisfile.htm" ?></div>

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

Ответы [ 2 ]

4 голосов
/ 29 июня 2011

Если вы используете include в php, самый простой способ защитить файл, который вы включаете, - это поместить его вне веб-корня.Таким образом php может добраться до него, но браузер не может, поэтому он никогда не может быть загружен отдельно.Вам не нужен javascript для ребенка, если вы делаете это следующим образом.

1 голос
/ 29 июня 2011

Если thisfile.htm должен быть включен в div в thisfile.php, просто включите его в php, используя include.Вам вообще не нужно вызывать thisfile.htm извне.Фактически, вы можете поместить его за пределы корня документа, и в этом случае вы вообще не сможете получить доступ к нему извне.Он будет включен только в thisfile.php.

...