サイトの閲覧を認証方式にする -htaccess(2)-

「サイトをサーバに設置したがまだ見せたくない」や「一部のコンテンツは関係者だけに見せたい」という要望に対し、サイトを見るためにパスワード入力を促す認証方式を"htaccess"を使えば可能になる。

ブラウザでアクセスするとIDとパスワードの入力を要求するウィンドウが表示されるが、これがhtaccessを利用した認証だ。

 認証画面


これを利用するには、ウィンドウを表示させるための"htaccess"ファイルと、IDとパスワードが記入されたパスワードファイルが必要になる。

htaccessが利用できる環境であれば、この2つのファイルをサーバに設置するだけでよい。

htaccessファイルとパスワードファイルのどちらもテキストファイルなので、メモ帳などテキストエディタで用意することができる。


htaccessへの記述



htaccessファイルにはテキストエディタを起動して、下記の内容を記載する。

AuthUserFile /etc/var/htdocs/.htpass
AuthGroupFile /dev/null
AuthName "Input ID and Password."
AuthType Basic
require valid-user



ここで環境によって書き換える点が2箇所ある。

まず「AuthUserFile」に"/etc/var/htdocs/.htpasswd"と記述しているが、これはサーバの/etc/var/htdocsフォルダにあるパスワードファイル".htpass"を利用することを指している。

パスワードファイルが誰でも見れる場所にあると認証の意味がないので、可能な限りWeb公開されていないディレクトリに設置したほうがよい。

パスワードファイルは".htpass"としているが、これは任意に名前をつけることができる。

そして2つ目の変更箇所は「AuthName」の"Input ID and Password."で、これは認証のウィンドウ内のコメント欄に表示される文字なので、これも任意となる。


記述し終えたhtaccessファイルを認証をかけたいディレクトリに設置し、名前を「.htaccess」に変更する。

Windowsでは.(ドット)から始まるファイル名をつけることができないので、元から「.htaccess」という名前のファイルをコピーするか、サーバに設置したあとでFTPソフトなどで名前変更する必要がある。


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



パスワードファイルの生成には2つの方法がある。

一つはhtaccessファイル同様にテキストエディタを起動してIDとパスワードを記述してサーバにアップする方法がある。

例えば、IDが"user"、パスワードが"user"の場合は下記のようになる。


user:mUQPGr6/ud7Rc



コロンより前の部分がID、後ろ側がパスワードなるが、パスワードが暗号化されているのがわかる。

パスワードを暗号化するためにはhtaccessのパスワード生成サイト等があるので、それらを利用して取得する。

上記の形式でテキストファイルに記述すれば、htaccess同様にサーバに設置して「.htpass」と名前変更する。
ファイルの名前はhtaccessに記載したファイル名と同じにする必要がある。


パスワードファイルのもう一つの生成方法は、下記のようにサーバのコマンドライン上で行う方法がある。


[root@localhost html]# htpasswd -c /var/www/html/htpass user
New password:
Re-type new password:
Adding password for user user



1行目の"htpasswd"というコマンドに新規作成の"-c"オプションを負荷し、スペース区切りでパスワードファイルを設置したパスとファイル名、ユーザ名を記載する。

「New password:」と表示されるのでパスワードを入力して、確認用の「Re-type new password:」で同じパスワードをもう一度入力すると完了となる。

コマンドラインから行った場合はパスワードの暗号化と、ファイルの生成まで行ってくれるので楽ができるのだが、コマンドラインが利用できるホスティングサービスは限られるので1つ目の方法で用意することが多い。


htaccessを利用した場合はフォルダごとにパスワードを設定できたり、設置や解除もファイルの存在だけでコントロールできるが、ユーザ各々の管理まではできないので簡易的な認証と割り切って使うのが好ましい。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 2

なるほど(納得、参考になった、ヘー)
驚いた

この記事へのコメント

この記事へのトラックバック