マイクロ office ★excel2016 価格 http://www.msofisu.com

microsoft オフィス ★office365 価格 個人

.htaccessでベーシック認証 管理画面にアクセス制限を設定する方法

.htaccessでベーシック認証 管理画面にアクセス制限を設定する方法

.htaccessでベーシック認証 管理画面にアクセス制限を設定する方法

BASIC認証とは .htaccessファイルを使って特定のファイルの閲覧を制御する方法の ことで、特定のアドレスからの閲覧を拒否したり、特定の人にだけ閲覧を許可することなどが 簡単にできるものです。

公開前のWebサイトなどに簡単なアクセス制御として、「.htaccess」でベーシック認証を利用している方も多いのではないでしょうか? 簡単に「.htaccess」を作成できる「.htaccess Editor」なんて便利なツールもあるので、ひとつひとつの詳しい意味が分からなくても簡単に認証をかけることができますよね。 …が、何かの時に役立つかもしれないので、この「.htaccess Editor」で作成されたファイルの意味を解説したいと思います。

まず、「.htaccess Editor」で、作成した「.htaccess」に記述する内容が以下です。 ユーザー名、パスワードともにichikawaで作成いたしました。

<Files ~ "^.(htaccess|htpasswd)$">
deny from all
</Files>
AuthUserFile /home/foo/bar/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user 
order deny,allow

まずは1~3行目。

<Files ~ "^.(htaccess|htpasswd)$">  deny from all  </Files>

こちらは、「「.htaccess」「.htpasswd」というファイルは、すべてのアクセス(all)を拒否(deny)する。」という意味です。 次に4行目。

AuthUserFile /home/foo/bar/.htpasswd

これはユーザー名とパスワードが書かれた.htpasswdファイルの絶対パスが記入されています。 .htpasswdファイルは、可能であればドキュメントルートより上の階層(ブラウザからアクセスできない領域)に置くのが望ましいです。

AuthGroupFile /dev/null

こちらはグループごとのアクセスを制御している部分です。 この記述は、グループごとでのアクセス制限はしないという意味です。

AuthName "Please enter your ID and password"

ここで指定された文字列が、認証の際に出てくるダイアログに出てくる文字列です。

AuthType Basic

こちらでベーシック認証を指定しています。

require valid-user

「.htpasswd」にはユーザ名とパスワードが対で書かれていますが、複数のユーザーとそのパスワードを書くことができます。 この「require valid-user 」という指定では、ユーザ名とパスワードが対で合致していればどのユーザ名でもアクセスを許可します。 もし特定のユーザ名だけを許可したい場合には、「require user ○○(例:ichikawa)」として下さい。

order deny,allow

ここでは特に指定していませんが、IPアドレスによる拒否・もしくは特定のIPアドレスのみを許可する場合などに使用します。 たとえば…

order allow,deny  allow from all  deny from 123.45.67.89

「order allow,deny」は、すべてのアクセスを許可(allow)してから、特定のIPアドレス(例:123.45.67.89)を拒否(deny)する書き方です。 反対に、特定のIPアドレスからのアクセスだけを許可する時は以下のように書きます。

order deny,allow  deny from all  allow from 123.45.67.89

上とは順番が逆です。 すべてのアクセスを拒否(deny)してから特定のIPアドレスのみ許可(allow)します。

簡単ですが、以上が「.htaccess」の解説です。より詳しいことを知りたい時はぜひ上記の本などを参照されることをお勧めします。

管理画面にアクセス制限を設定する方法

ECサイトには個人情報が満載です。 なので、今回は手軽にセキュリティを強化する方法をご紹介します。

Basic認証を設定する

ECサイトの動きをちょっと見ればEC-CUBEを使って作ったことはすぐわかりますね。

/admin/などのURLにアクセスするとそのまま管理画面のログインが見えてしまいます。もちろん、そこからIDとパスワードがないと管理画面には入れないのですが、入り口が見えてしまうよりは見えないほうがよいですよね。

そこで、まず紹介するのは、特定の場所へアクセスする際にIDとパスワードを使ってユーザーを認証するBasic認証です。 例えばEC-CUBEの管理画面へアクセスしたときに、認証を要求するようにしたい場合、以下の手順で設定します。

まず、認証するためのアカウントが記述されたファイルを作成します。 コマンドが実行できる環境であれば、html/adminディレクトリに移動して次のようなコマンドを実行します。 ※この場合、カレントディレクトリ(html/admin)に.htpasswdというファイルが作成されます。

# htpasswd -c .htpasswd ユーザーID  New password: パスワード  Re-type new password: パスワードの確認入力

複数のアカウントを作成する場合、2回目以降のhtpasswdコマンドは-cオプションを付けずに実行します。

もし、コマンドが実行できなくても、インターネットで「Basic認証 パスワード生成」などのキーワードで検索すると、 パスワード生成ツールがたくさん紹介されるので、生成した文字列をhtpasswdに記述すればOKです。

次にhtml/adminディレクトリに「.htaccess」というファイルを作成し、作成したファイルに以下の内容を記述します。

AuthType Basic  AuthName 認証時に表示されるメッセージなど  AuthUserFile  .htpasswdファイルの場所  require valid-user

IPアドレス制限を設定する

IDとパスワードが分かれば、どこからでも管理画面へアクセスできてしまうのでは心配、という方にはIPアドレス制限がオススメです。 特定のIPアドレスからしか管理画面へアクセスできないようにしておけば安全性が高くなります。 (プロバイダなどで固定IPを利用できるサービスを利用していない場合は、IPアドレスが変わってしまうのでこの方法は利用できません。)

設定は簡単。 html/adminディレクトリに「.htaccess」というファイルを作成し、以下の内容を記述するだけです。

order deny,allow  deny from all  allow from 127.0.0.1  allow from 許可するIPアドレス  allow from 許可するIPアドレス       :

ここで注意しなければいけないのが、クレジット決済モジュールを利用する場合です。 決済モジュールを利用する場合は、モジュールが通信するためのIPアドレスもアクセスを許可するように設定する必要があります。 クレジット以外にも利用しているモジュールやサービスによっては、その対象となるIPアドレスを許可する必要がありますので、その点はご注意ください。