PHP: Защита подключаемых php файлов
Приёмы для защиты подключаемых php файлов.
1. Вариант: Проверка определённой константы
В данном примере защищенным от прямого вызова будет файл inc.php
Один из подходов для защиты подключаемых файлов - это использование констант. В PHP можно проверить, определена ли константа, используя функцию defined(). Для защиты подключаемого файла необходимо определить константу в файле, который осуществляет подключение, и проверить ее наличие в самом подключаемом файле.
Файл, который осуществляет подключение:
define('_XKEY', true); require_once( 'inc.php' );
Подключаемый файл:
defined( '_XKEY' ) or die( 'Доступ запрещён' ); echo 'Супер-сверх-секретный самолёт';
2. Вариант: Запрет прямого доступа
Одним из эффективных способов защиты подключаемых PHP-файлов является ограничение доступа к ним из интернета. Для этого вы можете переместить эти файлы вне каталога документов веб-сервера. Это позволит предотвратить доступ к ним через интернет, даже если ваш сервер был скомпрометирован.
Если вы не можете переместить файлы вне каталога документов, вы можете использовать файл .htaccess для ограничения доступа к ним через сервер Apache. Для этого вам нужно создать файл .htaccess в каталоге, содержащем подключаемые PHP-файлы, и добавить следующий код:
# запрещает доступ к любому файлу с расширением .php <FilesMatch "\.php$"> Order deny,allow Deny from all </FilesMatch>
Для сервера nginx используйте следующий конфигурационный файл для запрета доступа к подключаемым PHP-файлам:
location ~ \.php$ { deny all; }
Оценить код:
Код был обновлён. Предыдущий рейтинг:
- Бесполезный код - 0 голосов
- Костыль - 0 голосов
- Полезный код - 1 голос
Комментарии