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 (запрет доступа).