• このエントリーをはてなブックマークに追加

2014年06月25日(Wed)

WordPressの管理画面にアクセス制限(ベーシック認証)を設定

WordPressの管理画面にアクセス制限(ベーシック認証)を設定

WordPressの管理画面にベーシック認証を施すには、プラグインを使う方法もあるようで幾つか見つけたのですがしっくりきませんでした。 なので、今回は諦めて自力で設定する事にしました。
ベーシック認証を施すのは、wp-adminフォルダwp-login.phpになります。

自力でベーシック認証を施す手順

  1. パスワードの暗号化
  2. パスワードファイルを作成
  3. パスワードファイルを設置
  4. wp-admin」のディレクトリに「.htaccess」を作成して設置
  5. wp-login.php」が置いてあるディレクトリの「.htaccess」に追記

パスワードの暗号化

ベーシック認証で使用するパスワードは、暗号化された状態で保存されている必要があるようなので、使用するパスワードをphpのcrypt関数を使って暗号化します。

crypt関数

<?php
	//crypt(“暗号化する文字列”, “任意の2文字”);
	echo crypt("mypassword", '1#');
?>

パスワードファイルを作成

既に何らかの「.htaccess」ファイルがあれば複製し名前を変えて使うのが早いと思います。
無い場合は、メモ帳(Windowsの場合)を使って作成可能です。
ファイル名は、自由に付けても大丈夫なようです。 一般的には、「passwd」や「.htpasswd」などが多いです。
ここでは、パスワードファイルのファイル名は「.htpasswd」で進めていきます。

メモ帳を使って保存した場合、ファイルの拡張子が「txt」になっていますがFTPソフトなどでアップロードする際に名前の変更をして拡張子を外して使用します。

パスワードファイルには、ユーザー名とパスワードを「:(コロン)」で区切って記述します。
パスワードは、上記で暗号化した状態のものを使います。

パスワードファイルの記述例

ユーザー名:暗号化したパスワード

パスワードファイルを設置

出来るようであればドキュメントルート(外部に公開するフォルダ)の1階層上の非公開領域に保存した方が安全です。 これから、作成する「.htaccess」ファイルにはパスワードファイルの指定をサーバーのルートディレクトリからのフルパスで記述するので、フルパスが分からない場合は、phpを使って調べる事が出来ます。

phpでサーバーのフルパスを表示

<?php
	//サーバーのフルパスを表示
	echo __FILE__ ;
?>

「wp-admin」のディレクトリに「.htaccess」を作成して設置

以下の「wp-admin用の.htaccess」の内容で「.htaccess」を作成し、wp-adminのディレクトリに設置します。
「.htaccess」ファイルの作成は、パスワードファイルと同様にメモ帳でも作れます。

wp-admin用の.htaccess

AuthType Basic
AuthName "Secure Area"
AuthUserFile "/*****/*****/*****/*****/*****/.htpasswd"
require valid-user
AuthType
認証方式:Basicを指定
AuthName
認証領域:ダイアログに表示される文字
AuthUserFile
パスワードファイル:サーバのルートディレクトリからのフルパスで記述
Require
許可するユーザの指定:valid-userの場合は、パスワードファイルに登録されている全てのユーザーを許可

「wp-login.php」が置いてあるディレクトリの「.htaccess」に追記

「wp-login.php」が置いてあるディレクトリには、既に「.htaccess」ファイルがあると思うので、以下の「wp-login.php用の.htaccess」をコピペして「# END WordPress」以降に追記します。
wp-admin用の上下に<FilesMatch “wp-login.php”></FilesMatch>が増えただけです。

wp-login.php用の.htaccess

<FilesMatch "wp-login.php">
AuthType Basic
AuthName "Secure Area"
AuthUserFile "/*****/*****/*****/*****/*****/.htpasswd"
require valid-user
</FilesMatch>

補足

今回、作成した2つの「.htaccess」を同時に設置してしまうとベーシック認証が両方に効果が出ているか分からなくなってしまうので1つずつ確認した方が良いと思います。

【参考Webサイト】

コメント(0件)

WordPressの管理画面にアクセス制限(ベーシック認証)を設定に対するご意見、ご感想、情報提供など皆様からのコメントをお待ちしております。 お気軽にコメントしてください。

コメントフォーム

【ソーシャルボタン】


TOP