[php] X-Powered-By 제거

  1. PHP에서 X-Powered-By 헤더를 어떻게 제거합니까? 나는 Apache Server에 있고 PHP 5.21을 사용합니다. 5.21에서 지원하지 않으므로 php에서 header_remove 함수를 사용할 수 없습니다. Header unset X-Powered-By를 사용했는데 로컬 시스템에서는 작동했지만 프로덕션 서버에서는 작동하지 않았습니다.

  2. PHP가 ver <5.3에 대해 header_remove ()를 지원하지 않으면 대안이 있습니까?



답변

나는 그것이 PHP.iniexpose_php설정에 의해 제어된다고 생각합니다 .

expose_php = off

PHP가 서버에 설치되어 있다는 사실을 웹 서버 헤더에 추가하여 PHP가 공개 할 수 있는지 여부를 결정합니다. 어떤 식 으로든 보안 위협은 아니지만 서버에서 PHP를 사용할지 여부를 결정할 수 있습니다.

직접적인 보안 위험은 없지만 David C가 지적한 것처럼 오래된 (그리고 취약한) 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를 사용하는 경우 다음을 시도하십시오.

fastcgi_hide_header X-Powered-By;


답변

다음과 같이 헤더를 보내기 전에 header () 호출을 추가하십시오.

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

php.ini의 expose_php 설정에 관계없이