Intereting Posts
Как использовать «Простой доступ API для доступа к Google» для доступа к информации Календаря Google (PHP)? Неустранимая ошибка: вызов неопределенной функции mysqli_connect () в … при подключении PHP 5.4.22 и MySQL 5.5 с Apache 2.4.7 Преобразование текста (с разделителем табуляции) в ассоциативный массив PHP вместо этого кода для CSV? Возможны ли частные константы в PHP? Символическая доктрина auto_mapping Непризнанная Настройка расширения PHP SOAP в Windows Документ Root PHP Как создать PDF-файл с PHP? Ошибка при создании соединения с PDO в PHP Переменные базы данных базы данных доступа из помощника в Codeigniter Это код .htaccess в WordPress. Может кто-нибудь объяснить, как это работает? Расширение файла загрузок файлов Codeigniter Найти, существует ли значение в CSV-файле с PHP Опубликовать многомерный массив с использованием CURL и получить результат на сервере Как отключить отчет об ошибках PHP в CodeIgniter?

Предотвращение прямого доступа к php-файлам

Вот пример моей файловой структуры.

/index.php /inc /inc/file1.php /inc/file2.php /inc/file3.php /search.php 

index.php включает () file1.php, file2.php и file3.php. И я хочу, чтобы они были доступны только index.php.

Какое самое элегантное решение доступно?

благодаря

Solutions Collecting From Web of "Предотвращение прямого доступа к php-файлам"

Получите их вне корня документа:

 /documentroot/index.php /inc/file1.php /inc/file2.php /inc/file3.php 

Таким образом, нет прямого доступа к ним.

В index.php вы можете определить константу следующим образом:

 define('RESTRICTED',1); 

Затем на других страницах вы помещаете это после <?php

 if(!defined('RESTRICTED'))exit('No direct script access allowed!'); 

Когда к другим страницам обращаются напрямую, код выше показывает, что RESTRICTED не установлен, поэтому он будет завершен.

создайте файл .htaccess и поместите его в папку inc

 <Files .htaccess> order allow,deny deny from all </Files> <Files *.php> order allow,deny deny from all </Files> 

или поместите это поверх файла, который хотите отменить

 if(strrchr($_SERVER['PHP_SELF'],'/')=='/file_name.php'){die;} // not good for ajax include