|
「パスワードと crypt関数」ではパスワードの暗号化方式を、「ディレクトリやファイルのアクセス権限」では Basic認証の方法を紹介した。じつは、Basic認証で用いられるパスワードは、 crypt 関数を使って生成することができる。 そこで今回は、 crypt 関数を使って Basic認証用の暗号化パスワードをつくるプログラムを紹介する。 |
サンプル・プログラム |
|
| このプログラムは、ユーザー ID とパスワードの文字セットと長さを入力すると、自動的にパスワードと Basic認証用の暗号化パスワードを表示するものである。 | |
サンプル・プログラムの解説:パスワードの生成 |
|
|
パスワードを生成するプログラム自体は、「PHP でパスワードを生成」と同じである。 パスワードにする文字セットは、グローバル変数 $TblString に定義しておく。このテーブルの構造は二次元配列で、下記のような構造である。 array(識別符号, (表示文字列, 文字セット))このテーブルは、記号を含めた文字列を発生するなど、ユーザーが自由に変更・追加・削除することができる。ただし、マルチバイト文字には対応していない。
0011: /** |
|
サンプル・プログラムの解説:数値範囲を検査する |
|
|
このプログラムでは、ユーザーにパスワードの長さを入力させるが、その長さが妥当な値であるかどうかをチェックする必要がある。これを行うのが、ユーザー関数 MyCheckNumScope である。
0023: /** |
|
サンプル・プログラムの解説:パスワードを生成する |
|
|
前述のユーザー関数 make_password によってパスワード $pswd を生成する。 次に、関数 crypt 用の salt も make_password によって生成する。 そして、関数 crypt によってパスワード $pswd を暗号化する。 ここで得られる文字列 $cpswd は、そのまま、.htpasswd として利用することができる。
0110: $pswd = make_password($len, $TblString[$type][1]); //パスワード |
|
参考書籍 |
|
|
|
参考サイト |
|
|
|
(この項おわり)
|
|
|
|
|
2008年05月11日更新
写真と記事 (C)2008 studio pahoo
(※)本ページはリンクフリーですが、複製・転載時にはご一報ください。 |