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;
}
PHP 8.1 г. Просмотров: 1.7k
Оценить код:

Код был обновлён. Предыдущий рейтинг:

  • Бесполезный код - 0 голосов
  • Костыль - 0 голосов
  • Полезный код - 1 голос

Комментарии

Ваш комментарий будет первым.
Войдите, чтобы оставить комментарий.