- PR -

cracklibでパスワード強度チェック

投稿者投稿内容
McLaren
ぬし
会議室デビュー日: 2002/01/15
投稿数: 784
お住まい・勤務地: 東京
投稿日時: 2003-04-15 09:36
 またもや自己レスですいません。いろんなパスワードで動作実験してみたのですが、例のテストスクリプトで

$dictionary = crack_opendict('/usr/local/lib/pw_dict')
or die('Unable to open CrackLib dictionary');

// パスワードチェックを行う
$check = crack_check($dictionary, 'dictionary');

で実行してみましても

strong password

と判定されました。辞書に載っているような単語ははじいてくれると思っていたのですが。。。
 Linuxで直接ユーザー追加を行うと
it is based on a dictionary word
となって登録できないはずです。

$dictionary = crack_opendict('/usr/local/lib/pw_dict')

の指定が悪いのでしょうか。。ご教授願います。
t-wata
大ベテラン
会議室デビュー日: 2002/07/12
投稿数: 209
お住まい・勤務地: 東京
投稿日時: 2003-04-15 09:42
そういえばtest.phpは、少し変えてました。

$dictionary = crack_opendict('/usr/lib/cracklib_dict')
です。

あと、chmodの件はokumuraさんので正しいです。
McLaren
ぬし
会議室デビュー日: 2002/01/15
投稿数: 784
お住まい・勤務地: 東京
投稿日時: 2003-04-15 13:08
 度々お世話になります。
$dictionary = crack_opendict('/usr/lib/cracklib_dict')
と指定すると、ブラウザ出力で

Warning: Unable to open a crack dictionary in /usr/local/apache/htdocs/test/cracklib.php on line 3
Unable to open CrackLib dictionary

と怒られてしまいました(泣)。。
t-wata
大ベテラン
会議室デビュー日: 2002/07/12
投稿数: 209
お住まい・勤務地: 東京
投稿日時: 2003-04-16 12:08
コマンドラインから実行すれば原因がわかるはずですが。
php /usr/local/apache/htdocs/test/cracklib.php

ファイルが見つからないのか、パーミッションによりアクセス拒否されたのかによって、
何をすべきか分かるはずです。
コマンドでうまくいくなら、httpdプロセスの環境の問題でしょう。chrootしてるとか。
McLaren
ぬし
会議室デビュー日: 2002/01/15
投稿数: 784
お住まい・勤務地: 東京
投稿日時: 2003-04-25 15:34
たくさんのご返答ありがとうございました。どうもRedhat系の場合、辞書ファイルの場所が違うようでして、そこを指定すればいけました。ありがとうございました。

スキルアップ/キャリアアップ(JOB@IT)