[PGメモ]ベーシック認証について | Late Riser

Late Riser

ダメ主婦ミルミルのプログラムと道の駅ドライブとリラックマの日々。
プログラム系は情報提供ではなく個人的メモなので、信憑性薄め。



使い古された物ではあるが
改めて設定する機会があったので復習を兼ねてメモ


<<ベーシック認証>>
よくwebページに飛んだときにダイアログが出てきてIDとパスワードの入力要求をされるアレ。
Webサイトの閲覧に使うプロトコル「HTTP」が備える、最も基本的なユーザ認証方式ですよ。
.htaccessでディレクトリ単位で認証をかけられる。
認証をミスると401エラー(お前なんかに見せてやんねーよ)が出る。


認証方式についてのもっと根幹的なことを知りたいのであれば、
こんなヘボいブログなんぞを見てる暇があったら
Basic認証(base64で変換)http://ja.wikipedia.org/wiki/Basic%E8%AA%8D%E8%A8%BC
とか
Digest認証(MD5でハッシュ化)http://ja.wikipedia.org/wiki/Digest%E8%AA%8D%E8%A8%BC
とか
RFCとかhttp://tools.ietf.org/html/rfc2617
を、とっとと見に行くべきだ。



.htaccess の細かい諸々を使えば、色々と細かく設定できるが、この際スルーで。
詳細はミケネコの htaccessリファレンス(http://mikeneko.creator.club.ne.jp/~lab/web/htaccess/)とかを読むべし。

↓使ったことは無いが、これは便利かもしれない
http://www.htaccesseditor.com/(.htaccessファイルをオンライン上で作成可能なツール)


<<.htaccessについて>>

下の形式で書いて、認証を掛けたいディレクトリ群のTOP階層に置く。



.htaccess

AuthType Basic
AuthName "ちゃっちゃとIDとPASS入れろや。" 
AuthUserFile /home/hogehoge/pw/passwd.dat 
require valid-user 



AuthName:認証を促すメッセージを。(英語奨励らしい)
AuthUserFile:IDとパスワードを格納したファイル」の格納場所をフルパスで。



<<パスワードについて>>

今回は、上記passwd.datに格納する前提で。

「IDとパスワードを格納したファイル」を作るには、htpasswd というコマンドを使う。
すると、テキストファイルが作成されるわけですが、
中身のパスワードはbase64円コーディングで暗号化されたものが格納されてます。

pwの作成方法は、ちょっと"htpasswd 作成"でググるだけでもこれだけ作成ツールが出てくるので
これらを使っても全然OK。
htpasswdファイル生成http://www.luft.co.jp/cgi/htpasswd.php
htpasswd生成https://ssl01.avis.ne.jp/common/htpasswd/create.cgi
htpasswd生成http://www.spacelan.ne.jp/cgi-bin/crypt.cgi



まぁ、コレも経験なんで、一回コンソール上から作ってみようかと思います。
では以下、適当なサーバーのテキトーなディレクトリに入り込んだところから。


[work@linuxSv]$ htpasswd -c ./password.dat test 
New password: testtest
Re-type new password: testtest
Adding password for user test 

[work@linuxSv contents]$ ls
password.dat 

[work@linuxSv]$  cat ./password.dat 
test:8d6ccyA4vkuJE


↑一発目。最初なので[-c]オプションでファイルの新規作成を行います
パスワードを入れてたらOKが出て、
lsしたら新規ファイルが出来てて、
中身を見たらtest用の設定が出来てましたっていう状況。



[work@linuxSv]$ htpasswd ./password.dat test2 
New password: moyomoyo
Re-type new password: moyomoyo
Adding password for user test2 

[work@linuxSv]$  cat ./password.dat 
test:8d6ccyA4vkuJE
test2:vhUasanMR8lQc


↑追加アカウントなので[-c]オプションは使いません。
で、さっきのようにしてみたら、test2の設定が追加されてましたって感じ。

で、この./password.datをさっき.htaccessで設定した場所に置けば
ベーシック認証の設定は完了です。

はい、めでたい♪











・・・・ってまとめてみたのに、
「やっぱ認証掛けなくていいです」って
さっき担当者に言われたwwww悲しいwwwwwwwwwww