wp-config.phpファイルをpublicフォルダ外に移動させて WordPress セキュリティ強化する

Last Updated: 2018 年 07 月 09 日 댓글

WordPress セキュリティ

WordPressをインストールすると、 WordPressがインストールされてフォルダにwp-config.phpファイルがあります。 このファイルには、MySQLデータベースの名前は、MySQLデータベースのユーザー名は、MySQLデータベースのパスワードなどの機密情報が含まれています。

ハッカーがこのファイルにアクセスできるようにすると、この情報を使用して WordPress サイト内の文章、ページなどのコンテンツを勝手に削除したり、変なサイトにリダイレクトされるマルウェアのコードを注入することができます。

このような問題を回避するために、wp-config.phpファイルをpubic外部フォルダに移動さ​​せると、セキュリティに役立つとします。 実際にどのように役立つかはわかりませんが、このような点が懸念場合は、以下の手順に沿ってwp-config.phpファイルをpublic外部フォルダに移動さ​​せることができます。

ちなみに下の方法は、 Harden WordPress Security By Moving wp-config.php to a Non-public Folderという海外のブログ記事で紹介されています。 この方法は、実際に効果があるかについては、保証しません。

wp-config.phpファイルをpublic外部フォルダに移動さ​​せる

まず、FTPクライアントプログラム(例えば、ファイルBugzillaの)を介してFTPサイトに接続して WP-config.phpを ファイルをPCにダウンロードします。

FTPのダウンロード

ダウンロードしたファイルの名前を WP-config.phpを 以外の名前に変更します(例えば、 something_nic.php、名前は任意に指定可能)。

今public_htmlあるいはwwwフォルダの外に移動して、新しいフォルダを作成します。 Webファイルが位置するフォルダは、通常、public_htmlあるいはwwwフォルダです。 しかし、Webホスティングによって異なる場合があります。 BluehostSiteGroundの場合public_htmlです。

SiteGround ホスティング

テストで hobbliesという名前のフォルダを作成してみました。 このフォルダに名前変更した WP-config.phpを ファイルをアップロードします。

今public_htmlの下の WordPressがインストールされてフォルダにある WP-config.phpを ファイルのバックアップを受けておいた後(!必ずバックアップしてください!!!)ファイルの内容を次のように変更します。

<?php
include(‘/home/usr/hobbies/something_nic.php’);
?>

パスは、名前を変更し WP-config.phpを ファイルの絶対パスです。 絶対パスがわからない場合は、次の内容のファイルを一つ作って確認することができます。

<?php echo $_SERVER['DOCUMENT_ROOT']; ?>

このように WP-config.phpを ファイルをpublic_htmlフォルダの外に移動させても、サイトが正常に動作します。 もしかしたら、エラーが発生した場合、パス名が正しいことを確認してください。

パスが間違っている場合は、次のようなエラーが発生します。

Warning: include(/home/usr/hobbies/something_fic.php): failed to open stream: No such file or directory in /home/usr/public_html/wp-config.php on line 2

Warning: include(): Failed opening '/home/usr/hobbies/something_fic.php' for inclusion (include_path='.:/usr/local/php72/pear') in /home/usr/public_html/wp-config.php on line 2

Fatal error: Uncaught Error: Call to undefined function wp() in /home/usr/public_html/wp-blog-header.php:16 Stack trace: #0 /home/usr/public_html/index.php(17): require() #1 {main} thrown in /home/usr/public_html/wp-blog-header.php on line 16

実際のエラーメッセージは、状況と利用のウェブホスティングによって異なる場合があります。

最後に、

以上で WP-config.phpを ファイルをpublicフォルダ外に移動させる方法を説明しました。 この方法を利用すれば、少しのセキュリティ強化の効果があるようです。

何よりもセキュリティのために、1) WordPress サイトのコアファイルとテーマ、プラグインを最新バージョンに維持して2)定期的にバックアップを行うことをお勧め。 アップデートをきちんとしていなくてマルウェアマルウェアに感染したり、ハッキングされる場合をしばしば目撃します。 セキュリティ事故をされる前に事前に備えることが最善です。 (マルウェアなどに困難を経験する場合 ここでサービス(有料)をご依頼することができます。)


コメントを残す

コメント