Как сделать страницу пустой, когда пользователь напрямую обращается к файлу php?

0

Поэтому я пытаюсь создать тему из своего Html файла. И используя require('file.php') где file.php - это серия различных компонентов моей темы. Теперь, когда я напрямую обращаюсь к файлу, я все еще вижу html. Как я могу отобразить пустую страницу, когда пользователь напрямую обращается к file.php?

Объяснение Итак, скажем, я делаю index.php, и я хочу включить заголовочный файл (header.php)

Когда я require('header.php'), все работает отлично. Теперь, когда я пытаюсь получить доступ к header.php, я могу видеть содержимое html. Как я могу сделать это пустым, а не видеть header.php? благодаря

  • 1
    if (условие) {умереть (); }
Теги:

4 ответа

2
Лучший ответ

В этом случае, если вы хотите выполнить команду header.php внутри index.php или т.д. Вам нужно добавить или define флаг в родительских файлах (везде, где вы хотите, чтобы header.php выполнялся или просто добавлялся к общему файлу, который вызывается во всех родительских файлах). В файле header.php вам нужно проверить, что определенный флаг установлен или имеет некоторое значение. Если он не установлен, прекратите выполнение с помощью функции die(); функция.

В index.php,

<?php $HeaderAllow ='1';  ?>

В заголовочном файле,

 <?php 
     if($HeaderAllow=='' or !isset($HeaderAllow)){
         die();
     }
 ?>
  • 0
    +1 я так предпочитаю делать
  • 0
    Я не совсем понимаю, что вы имеете в виду здесь. : S Не могли бы вы уточнить?
Показать ещё 2 комментария
2

вы можете использовать $_SERVER['SCRIPT_FILENAME'] здесь, чтобы проверить, а затем сделать страницу пустой в header.php.

<?php
if($_SERVER['SCRIPT_FILENAME'] == 'header.php') {
    exit();
}
1

Помещение включенных файлов в отдельную папку и защиту с помощью .htaccess - хорошая идея.

Та же проблема здесь.

запретить прямой доступ к папке и файлу с помощью htaccess

  • 0
    - Maz - Отказ в доступе - это одно, а что если я просто хочу, чтобы страница выглядела пустой?
  • 0
    тогда вы можете сделать, как некоторые переменные установлены в индексном файле. и проверьте эту переменную в header.php. Если кто-то обращается к этому полю напрямую, переменная не будет установлена, поэтому вы можете просто вызвать echo die () или выйти. в верхней части страницы. см. приведенный выше фрагмент кода @Chinnu R
0

Самый простой способ - поместить ваши включения в каталог и запретить доступ к этому каталогу в вашем файле.htaccess

Ещё вопросы

Сообщество Overcoder
Наверх
Меню