%e3%83%99%e3%83%bc%e3%82%b7%e3%83%83%e3%82%af%e8%aa%8d%e8%a8%bc%e3%81%ae%e3%81%8b%e3%81%91%e6%96%b9

ベーシック認証のかけ方

ベーシック認証というのをご存じでしょうか?
クライアント様に説明する時なんかは単純に「アクセス制限」とかって言ったりしていますが、サイトにアクセスした時にID・PWの入力画面が表示されたりすることはありませんか?

 

こんな画面です。
サイト作成中やメンテナンス、一部のユーザーのみに公開したい場合などに便利です。
これを利用するために「.htaccess」というファイルを利用します。
ベーシック認証をかけたいフォルダにコードを書いた「.htaccess」をアップロードするだけなので、覚えてしまえば簡単です。
CMSなどを利用の場合は、元の「.htaccess」を削除したり、上書きしないように注意してくださいね。
あと、サーバーのコントロールパネルなんかで設定できることもあるので、設定できる場合はそちらでした方が安全です。

ベーシック認証に必要なもの

ベーシック認証には「.htaccess」「.htpasswd」の2つのファイルが必要になります。
「.htpasswd」はID・PWを設定するファイルになります。

ベーシック認証のかけ方

下記のコードをterapad等にコピーして、適当な名前で保存してください。あとで、「.htaccess」という名前にリネームします。
パスのところは適宜変更してください。パスが不明な場合は、調べ方を後述するので、そちらを参考にしてください。

AuthUserFile パス/.htpasswd
AuthGroupFile /dev/null
AuthName "Secret Area"
AuthType Basic
require valid-user
<Files ~ "^.(htpasswd|htaccess)$">
    deny from all
</Files>

wordpressの管理画面だけにベーシック認証をかける方法

wp-login.phpにベーシック認証をかける方法です。

<Files wp-login.php>
AuthUserFile パス/.htpasswd
AuthGroupFile /dev/null
AuthName "Secret Area"
AuthType Basic
require valid-user
</Files> 
<Files ~ "^.(htpasswd|htaccess)$">
    deny from all
</Files>

入力するID・PWを設定する

暗号化する必要があるのですが、ネット上の簡単に暗号化してくれるサイトがありますので、そちらを使います。
http://orange-factory.com/tool/crypt.cgi
ユーザー名とパスワードを入力して、「パスワードの暗号化」ボタンをクリックすると一行のコードが生成されます。
そのコードをterapad等にコピーして、「.htpasswd」という名前で保存してください。
「.htpasswd」で保存できない場合は、適当な名前で保存してください。あとで、リネームします。

パスの調べ方

下記のコードをterapad等にコピーして、適当なphpファイルとして保存します。
そのphpファイルをパスを調べたいディレクトリにアップロードして、そのファイルにブラウザでアクセスするとパスが表示されます。

<?php
 echo __FILE__;
 ?>

リネームの方法

「.htaccess」「.htpasswd」ともにPC上ではコマンドプロンプトからでないと名前の変更ができません。
わざわざコマンドプロンプトでコマンドを入力しなくても、サーバー上でリネームできます。
まず、半角英数字の適当な名前をつけて、FTPでアップロードします。
FTPの使い方が分からなければ、サーバーのコントロールパネルにあるファイルマネージャーを使ってください。
サーバー上でリネームしてください。下記はfilezila使用時の例。

ftp

この方法を知っていると、制作中のサイトや管理画面へのアクセスを制限したい場合などに、重宝します。