
ベーシック認証というのをご存じでしょうか?
クライアント様に説明する時なんかは単純に「アクセス制限」とかって言ったりしていますが、サイトにアクセスした時に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使用時の例。
この方法を知っていると、制作中のサイトや管理画面へのアクセスを制限したい場合などに、重宝します。