簡易的なパスワードを掛ける
2010年05月05日
ウェブサイトであるディレクトリやページにパスワードを掛ける方法。
- JavaScriptを使用する。
head部か外部ファイルに下記Java Scriptを記述。1
2
3
4
5
6
7
8
9function GetPassword(pass) {
if(pass == "abc123") {
//パスワードが合っている場合
location.href = "遷移先ページ";
}else{
//パスワードが間違っていた場合
alert("パスワードが違います");
}
}入り口のページに下記を記述。
1<input type="password" name="pass" onBlur="GetPassword(this.value)" value="" />入力したパスワードが合っていれば、遷移先のページにジャンプしますが、ソースを見ればパスワードが分かりますので、セキュリティ的には良くないです。
- ベーシック認証を使う
パスワードを掛けたいディレクトリに.htaccessと.htpasswdを設置することで、パスワードを掛けられます。
アクセスをしようとするとダイアログが出てきてIDとパスワード入力を求められます。まず、.htaccessに下記を記述します。
1
2
3
4
5
6
7
8AuthUserFile フルパス/.htpasswd
AuthGroupFile /dev/null
AuthName "Input ID and Password."
AuthType Basic
require valid-user
<Files ~ "^.(htpasswd|htaccess)$">
deny from all
</Files>AuthUserFileは.htpasswdファイルがおいてある場所までのパスを記述しますが、フルパスとは、httpから始まるパスではなく、サーバのフルパス(大抵は/home/から始まる)を記述します。
分からない場合は、サーバ管理者に聞いてください。
AuthNameはダイアログに表示される文言です。
あとは、そのまま記述すればいいでしょう。
Fiels~の部分は外部から見えないようにするためなので、必ず書き込むようにしてください。.htpasswdの書き方は、
1
2test:Rsv5e0EgXC4sM
test2:BnFl7D5/EKn/2上記の場合は「test」というIDの人は「1234」で、「test2」というIDの人は「4567」で認証できます。
ここで注意すべきはパスワード部分は暗号化したものを記述する必要があります。暗号化したパスワードを作りたい場合はこちらなどを使うとよいでしょう。
設置したファイルはパーミッションを「604」にしておきましょう。
また、この方法は.htaccessが置けないサーバ(動作しないようになっている場合もあり)にはできないので、まずサーバで.htaccessが使用できるかどうか調べましょう。
上記方法はあくまで簡易的な方法なので、もし、ユーザーが多い場合はデータベースを使用した認証方法の方がいいでしょう。
コメントする
:コメント(0)
:トラックバック(1)
コメント:0件
- コメントはありません。
トラックバック:1件
- [...] This post was mentioned on Twitter by のぶ. のぶ said: 簡易的なパスワードを掛ける http://is.gd/bUVGZ [...]
Tweets that mention 簡易的なパスワードを掛ける | Director's Cut – art project team Blog - -- Topsy.com




