Удаление X-Powered-By - PullRequest
       7

Удаление X-Powered-By

126 голосов
/ 18 апреля 2010
  1. Как удалить заголовок X-Powered-By в PHP? Я нахожусь на сервере Apache, и я использую php 5.21. Я не могу использовать функцию header_remove в php, так как она не поддерживается 5.21. Я использовал заголовок unset X-Powered-By, он работал на моей локальной машине, но не на моем рабочем сервере.

  2. Если php не поддерживает header_remove () для версии <5.3, есть ли альтернатива? </p>

Ответы [ 8 ]

220 голосов
/ 18 апреля 2010

Я думаю, что это контролируется настройкой expose_php в PHP.ini :

expose_php = off

Решает, может ли PHP раскрыть тот факт, что он установлен на сервере (например, путем добавления своей подписи в заголовок веб-сервера). Это никоим образом не угрожает безопасности, но позволяет определить, используете ли вы PHP на своем сервере или нет.

Прямой угрозы безопасности не существует, но, как отмечает Дэвид Си, разоблачение устаревшей (и, возможно, уязвимой) версии PHP может стать для людей попыткой атаковать ее.

69 голосов
/ 28 июня 2013
49 голосов
/ 18 апреля 2010

Если вы не можете отключить директиву expose_php , чтобы отключить разговорчивость PHP (требуется доступ к php.ini ), вы можете использовать Apache's Header директива для удаления поля заголовка:

Header unset X-Powered-By
21 голосов
/ 07 августа 2014
if (function_exists('header_remove')) {
    header_remove('X-Powered-By'); // PHP 5.3+
} else {
    @ini_set('expose_php', 'off');
}
13 голосов
/ 18 апреля 2010

Если у вас есть доступ к php.ini, установите expose_php = Off.

2 голосов
/ 10 апреля 2018

Попробуйте добавить вызов header () перед отправкой заголовков, например:

header('X-Powered-By: Our company\'s development team');

независимо от значения параметра expose_php в php.ini

1 голос
/ 05 февраля 2018

Если вы используете FastCGI, попробуйте:

fastcgi_hide_header X-Powered-By;
0 голосов
/ 16 ноября 2018

У меня это решение сработало:)

Пожалуйста, добавьте строку ниже в скрипт и проверьте.

Настройки уровня Ngnix / Apache и т. Д. Могут не потребоваться.

header("Server:");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...