XAMPP のセキュリティ
XAMPP は開発用の使用を目的としているため、次のようなセキュリティが欠如しています。
- MySQLの管理者(root)にパスワードがありません。
- MySQLのDaemonが、ネットワーク経由でアクセス可能です。
- ネットワーク経由でphpMyAdminにアクセス可能です。
- ネットワーク経由で事例(Examples)にアクセス可能です。
- MercuryとFileZillaのユーザが明らかになります。
オンラインで XAMPP を利用し何かを公開する場合は、上記の対策をする必要があります。
XAMPP の必要最低限の初期設定とセキュリティ
XAMPP を開発専用に利用する場合も、次のセットアップとセキュリティは施しておいた方が良いでしょう。
XAMPP アクセス禁止
XAMPP へのアクセスを自分のサーバーからのみに限定します。こうすることにより、外部からのアクセスを防ぐことができます。
次の記述をした .htaccess を作成し、C:\xampp\htdocs\ に保存します。.htaccess は、必ず Shift_JIS で保存します。127.0.0.1 は、自分のパソコンを表します。( localhost のことです。)
.htaccess 記述内容
Deny from All
Allow from localhost 127.0.0.1
MySQLのパスワードとXAMPPのディレクトリ制御
MySQLの管理者(root)にパスワードを設定は、「MySQLのセキュリティコンソール & XAMPPのディレクトリ制御」のページから行います。ところが、「MySQLのセキュリティコンソール & XAMPPのディレクトリ制御」のページが表示できないので、http://localhost/security/xamppsecurity.php を直接表示します。
「MySQLのセキュリティコンソール & XAMPPのディレクトリ制御」では、つぎの設定をします。
「MySQLのセキュリティコンソール & XAMPPのディレクトリ制御」
MySQL SuperUser: root
MySQL の PW :パスワードを設定
PhpMyAdminを検出しました。: http cookie は、 httpを選択
File: C:\xampp\security\security\mysqlrootpasswd.txt にチェック
XAMPPのディレクトリ制御 (.htaccess)
ユーザ: ディレクトリ用のユーザ名を設定
パスワード: ディレクトリ用のパスワードを設定
File: C:\xampp\security\security\xamppdirpasswd.txt をチェック
設定が成功すると、次の表示が出ます。
設定成功時の表示
C:\xampp\security\xampp.users
C:\xampp\htdocs\xampp\.htaccess
C:\xampp\security\xamppdirpasswd.txt
XAMPPのディレクトリ制御の設定は、これ以降 http://localhost 又は http://127.0.0.1 をアクセスしたときにユーザとパスワードを聞かれるますので、その時使用します。
PHP バージョン切り替え
PHP のバージョンは、インストール時最新のバージョン( PHP5 )になります。バージョンを切り替えたいときは、php-switch.bat( C:\xampp\php-switch.bat )を実行します。PHP5 と PHP4 の切り替えができます。ただし、切り替えを行う前に、必ず Apache サーバを停止してください。
mod_rewrite を有効にする
XAMPP の初期設定では、mod_rewrite は無効になっています。C:\xampp\apache\conf\httpd.conf の118行( XAMPP Windows版 1.6.2 の場合)が、mod_rewrite の設定です。
httpd.conf の118行( XAMPP Windows版 1.6.2 の場合)
mod_rewrite を有効にするには、この行のコメント # をはずします。テキストエディタで、# をはずした後、XAMPP で Apache を再起動すれば、mod_rewrite が利用できるようになります。
