Как удалить заголовок X-Powered-By в PHP? Я использую сервер Apache и использую php 5.21. Я не могу использовать функцию header_remove в php, поскольку она не поддерживается 5.21. Я использовал Header unset X-Powered-By, он работал на моем локальном компьютере, но не на моем производственном сервере.
Если php не поддерживает header_remove () для версии <5.3, есть ли альтернатива?
php
http-headers
Кастор
источник
источник
Ответы:
Я думаю, что это контролируется
expose_php
настройкой в PHP.ini :Прямого риска для безопасности нет, но, как отмечает Дэвид С., раскрытие устаревшей (и, возможно, уязвимой) версии PHP может быть приглашением для людей попытаться атаковать ее.
источник
header_remove("X-Powered-By");
https://secure.php.net/manual/en/function.header-remove.php
источник
expose_php = off
не работает в файлах .htaccess и php.Если вы не можете отключить директиву expose_php для отключения болтливости PHP (требуется доступ к php.ini ), вы можете использовать директиву Apache
Header
для удаления поля заголовка:Header unset X-Powered-By
источник
if (function_exists('header_remove')) { header_remove('X-Powered-By'); // PHP 5.3+ } else { @ini_set('expose_php', 'off'); }
источник
Если у вас есть доступ к php.ini, установите
expose_php = Off
.источник
Если вы используете FastCGI, попробуйте:
источник
Попробуйте добавить вызов header () перед отправкой заголовков, например:
header('X-Powered-By: Our company\'s development team');
независимо от настройки expose_php в php.ini
источник
Это решение сработало для меня :)
Пожалуйста, добавьте строку ниже в скрипт и проверьте.
Настройки уровня Ngnix / Apache и т. Д. Могут не потребоваться.
header("Server:");
источник