Edited at

php.iniのパスを確認・POSTのヘッダーから X-Powered-Byの情報を消す

More than 1 year has passed since last update.

PHPでWebアプリケーション開発を行う際にリクエストヘッダー情報に X-Powered-Byが表示されていることがある。

これは、PHPを利用していることと、バージョン情報から脆弱性を突かれる原因になる可能性がある。

これらの情報を隠蔽する手順を確認する。


ヘッダーファイルを見る

chromeの機能にヘッダーを確認する方法がある。

確認ホームをchromeで開くとヘッダーを確認できるホームに飛ぶ。

別タブを開いて、リクエストヘッダーのみたいサイトにアクセスする。

元のタブに戻り、URL_REQUESTSource Typeという項目の中にあるのでクリックする。

ヘッダーの中身を確認する。

もし、X-Powered-Byが自分のWebサーバで表示されている場合は以下の記事を読んでphp.iniを変更することをお勧めする。


PHPの設定を変更する

PHPの各種設定を変更するためにphp.iniをいじることがある。(細かい設定を変えたい時がプログラミングをしてれば必ず出てくる)

そういった時にgrepやlocateで探そうとしてもPHP7などをリポジトリを指定してインストールしていたりすると今編集したいPHPのバージョンのphp.iniがどのファイルかよく分からないことがある。

そうした場合には設定したいPHPで以下のプログラムを実行する。


php.ini_print.php

<?php phpinfo(); ?>


出力ファイルの中にLoaded Configuration File

という項目があるのでこれを見てファイルのパスを特定する。


php.iniでX-Powered-Byの設定を変更する

php.iniの場所を特定できたら、以下の部分を修正する。


php.ini

expose_php = Off



httpdを再起動する

忘れがちであるが、php.iniの設定を反省させるためにapacheを再起動させる必要がある。

以下のコマンドを実行する。

$ /etc/init.d/httpd restart


まとめ


  • PHPでWebアプリケーション開発を行う際にはリクエストヘッダー情報に気をつける

  • 脆弱性を突かれるような事実が見つかった場合は冷静にphp.iniを編集する

  • 再起動を忘れないこと


参考