Как в nginx настроить так, чтобы php файл нельзя было открыть по прямому адресу?

PHP файлы – это основа очень многих веб-приложений. Они содержат исполняющий код на сервере, благодаря которому веб-страницы оживают. Однако, иногда возникает необходимость запретить доступ к php файлам напрямую.

Нжинкс — это широко используемый веб-сервер и прокси-сервер. Он способен обрабатывать статический и динамический контент, в том числе php файлы. Если php файлы можно открыть напрямую, это может создавать уязвимости и предоставлять злоумышленникам доступ к вашему исполняющему коду.

Чтобы запретить открытие php файла в nginx по прямому адресу, необходимо добавить директиву location с указанием пути к php файлам и настроить правила доступа.

location ~ \.php$ {

deny all;

}

Это правило запрещает открытие всех файлов с расширением .php, благодаря символу ~, который указывает на использование регулярного выражения.

Запрет открытия php файла в nginx

Чтобы предотвратить открытие php файла по прямому адресу в nginx, необходимо выполнить следующие действия:

Шаг 1:

Откройте конфигурационный файл сервера nginx с помощью текстового редактора. Обычно он находится в директории /etc/nginx/nginx.conf или /etc/nginx/sites-available/default.

Шаг 2:

Найдите блок server, в котором определена конфигурация вашего сайта.

Шаг 3:

Добавьте следующую директиву внутри блока server:

location ~ \.php$ {
return 403;
}

Примечание: Если уже есть директива location для обработки php файлов, вы можете изменить ее содержимое на приведенное выше.

Шаг 4:

Сохраните изменения и закройте файл конфигурации сервера nginx.

Шаг 5:

Перезапустите сервер nginx, чтобы изменения вступили в силу. Выполните команду:

sudo systemctl restart nginx

Теперь при попытке открыть php файл по прямому адресу в браузере, будет возвращен код ошибки 403 (запрет доступа).