HTTPレスポンスヘッダのXXXを隠蔽するには
Server HTTP 応答ヘッダを設定
クライアントに送り返す Server 応答ヘッダ内に、サーバの一般的な OS 種別や、 コンパイルされて組み込まれているモジュールの情報を 含めるかどうかを指定します。
以下の設定では「Server: Apache」といったように送ります。
# vi httpd.conf
:
ServerTokens ProductOnly
#← 最後の行にでも追記する
参照: http://httpd.apache.org/docs/2.0/ja/mod/core.html#servertokens
サーバが生成するドキュメントのフッタを設定
サーバが生成するドキュメント (エラーメッセージ、mod_proxy における FTP のディレクトリリスト、 mod_info の出力、等々) の最下行に付与するフッタの設定を行ないます。
以下の設定ではエラーの際の行が抑制されます。
# vi httpd.conf
:
ServerSignature Off
#← 最後の行にでも追記する
参照: http://httpd.apache.org/docs/2.0/ja/mod/core.html#serversignature
「X-Powered-By」の隠蔽
クライアントに送り返す Server 応答ヘッダ内に、PHPのバージョンなどを含めるかどうかを指定します。
以下の設定では表示を抑制されます。
# vi php.ini
:
;expose_php = On
#← コメントアウト
expose_php = Off
#← Offに設定
:
参照: http://jp.php.net/ini.core
Apacheを再起動して確認する
上記、設定の変更したらApacheの再起動を行います。
再起動後、応答ヘッダを確認する。以下は例です。
$ telnet example.com 80
Trying 192.0.34.166…
Connected to example.com.
Escape character is ‘^]’.
HEAD / HTTP/1.0HTTP/1.1 200 OK
Date: Wed, 09 Aug 2006 14:07:02 GMT
Server: Apache
Connection: close
Content-Type: text/html
以上でした。
- カテゴリ:Web開発
- 公開日:2006/08/09
- ↑ 記事評価をお願いします。

