なんとなく思い立ってちょっとサーバ内の設定を改めて確認中なので、またまた今更感ありまくりシリーズ。
とりあえず、Apache + PHP を使うなら外部にどのバージョンを使っているのかあえて知らせるメリットはゼロなので、何も考えずに表示の抑止を行います。
PHP は PHP を使っていること自体も抑止できるが、Apache はバージョン表示は抑止できるが、Apache を使っていること自体の表示は抑止できない?
Apache のバージョン表示の抑止
httpd.conf
に下記を設定
# レスポンスヘッダへの Apache バージョン表示の抑止
ServerTokens ProductOnly
# エラーページ表示時の Apache + バージョン表示の抑止
ServerSignature off
設定前後のレスポンスヘッダは下記のように変わる。
設定前
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.3.33
設定後
Server: Apache
ちなみに、ServerSignature
の方はかなり昔からデフォルトでオフになっているので、好き好んであえてオンにしない限りは問題ない。
PHP 表示の抑止
php.ini
に下記を設定
expose_php = Off
すると、設定前には下記のような情報が表示されていたが、表示されなくなる。
X-Powered-By: PHP/7.3.33
コメント