簡易的なパスワードを掛ける

2010年05月05日

ウェブサイトであるディレクトリやページにパスワードを掛ける方法。

  1. JavaScriptを使用する。
    head部か外部ファイルに下記Java Scriptを記述。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    function GetPassword(pass) {
      if(pass == "abc123") {
        //パスワードが合っている場合
        location.href = "遷移先ページ";
      }else{
        //パスワードが間違っていた場合
        alert("パスワードが違います");
      }
    }

    入り口のページに下記を記述。

    1
    <input type="password" name="pass" onBlur="GetPassword(this.value)" value="" />

    入力したパスワードが合っていれば、遷移先のページにジャンプしますが、ソースを見ればパスワードが分かりますので、セキュリティ的には良くないです。

  2. ベーシック認証を使う
    パスワードを掛けたいディレクトリに.htaccessと.htpasswdを設置することで、パスワードを掛けられます。
    アクセスをしようとするとダイアログが出てきてIDとパスワード入力を求められます。

    まず、.htaccessに下記を記述します。

    1
    2
    3
    4
    5
    6
    7
    8
    AuthUserFile フルパス/.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
    2
    test:Rsv5e0EgXC4sM
    test2:BnFl7D5/EKn/2

    上記の場合は「test」というIDの人は「1234」で、「test2」というIDの人は「4567」で認証できます。
    ここで注意すべきはパスワード部分は暗号化したものを記述する必要があります。

    暗号化したパスワードを作りたい場合はこちらなどを使うとよいでしょう。

    設置したファイルはパーミッションを「604」にしておきましょう。
    また、この方法は.htaccessが置けないサーバ(動作しないようになっている場合もあり)にはできないので、まずサーバで.htaccessが使用できるかどうか調べましょう。

上記方法はあくまで簡易的な方法なので、もし、ユーザーが多い場合はデータベースを使用した認証方法の方がいいでしょう。

コメント:0件

  1. コメントはありません。
投稿者名
E-Mail

メールアドレスは公開いたしません
URL
コメント

トラックバック:1件

  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
ページのトップへ

artprojectteam & festiva Tweet

Loading..