PHP - Как скрыть X-Powered-by в HTTP заголовках
- Последнее обновление: 3 Ноября 2023 г.
- Просмотры: 379
- Автор: Админ

Коллеги всем привет.
В сегодняшней статье мы поговорим о том как можно легко и быстро спрятать версию вашего интерпретатора PHP в HTTP заголовках.
Когда пользователь отправляет какой-нибудь запрос на ваш сайт, то этот запрос сначала обрабатывается вашим веб сервером Apache или Nginx и потом веб сервер этот запрос перенаправляет на ваш интерпретатор, в нашем случим это PHP. После того как PHP обработает запрос он, вернет ответ обратно веб серверу, а уже веб сервер вернет весь результат пользователю. В этом самом результате, а именно в HTTP заголовках помимо всех информации о сервере еще и передается версия вашего PHP интерпретатора которая на данный момент у вас установлена на сервере, а это может быть уже опасно для безопасности вашего веб приложения.
Скрывать версию вашего интерпретатора PHP от лишних глаз может помочь вам обеспечить безопасность вашего веб приложения. Обращаю вашего внимание на то что способ скрыть версию вашего PHP интерпретатора поможет лишь при некоторых типах атак, когда роботом ищется определённая версия с определённой уязвимостью.
По умолчанию ваш веб сервер Apache или Nginx передает номер версии PHP в HTTP заголовках. Имя заголовка который отвечает за версию PHP называется X-Powered-By.
Как видим со скриншота наш веб сервер передает версию PHP которая у нас установлена.
Чтобы скрыть информацию о нашем интерпретаторе PHP, вам нужно изменить параметр expose_php который находиться в основном конфигурационном файле под названием php.ini который находится в директории /etc.
Открываем конфигурационный файл php.ini любым удобным для вас текстовым редактором.
$. sudo vim /etc/php.ini
Находим в файле параметр expose_php.
Меняем значения параметра с On на Off.
expose_php = Off
После того как мы изменили значения параметра expose_php, то теперь нужно перезапустить PHP интерпретатор, используя следующую команду:
$. sudo service php-fpm restart
Обновляем страницу в браузере и смотрим на результат.
Как видим в результате информация о нашем интерпретаторе PHP теперь не показывается.
Всем спасибо, я надеюсь что вам моя статья хоть чем-то помогла.