第 32章PHPの隠蔽

一般に隠蔽という手段はセキュリティとしては弱いものだと言われています。 しかしこうした手法が望ましい場合もあります。

PHPを隠すための簡単な技法がいくつかあり、システムの弱点を見つけよ うとする攻撃を遅延させることができる可能性があります。php.iniファ イルでexpose_php = offと設定することにより、攻撃者が利用可能な情 報を減らすことが可能です。

他の手段は、ApacheのようなWebサーバをPHPに異なるファイル形式をパー スさせるように設定することです。これは、.htaccessディレクティブま たはApacheの設定ファイル自体で指定します。これにより、紛らわしい ファイル拡張子を使用可能です。

例 32-1. PHPを他の言語として隠す

# PHPコードを他のコード型のようにする
AddType application/x-httpd-php .asp .py .pl
または、次のように完全に隠すことも可能です。

例 32-2. PHP拡張子用に未知の型を使用する

# Make PHP code look like unknown types
AddType application/x-httpd-php .bop .foo .133t
または、HTMLコードとして隠すことも可能です。この場合、全てのHTMLファ イルがPHPエンジンを通じてパースされることになるため、若干の性能上の 問題があります。

例 32-3. PHP拡張子としてHTML型を使用する

# 全てのPHPコードをHTMLのように作成する
AddType application/x-httpd-php .htm .html
効率的にこれを使用するには、全てのPHPファイルの名前を上の拡張子に変更 する必要があります。これは、あいまいさに基づく形式のセキュリティですが、 欠点の少ない簡単な防衛策です。