RubyでCGIスクリプトを作る下準備・cryptを使う・改
前回(http://d.hatena.ne.jp/BeForU/20040704)のバグフィックス。
checkpwdの引数が空だとエラーになるので対策。(一応nilの時も考慮)
def checkpwd(chk, pwd) # ↓この行だけ追加 return false if chk == nil || chk == "" || pwd == nil || pwd == "" if pwd =~ /^\$[0-9]\$([A-Za-z0-9\.\/]+)\$([A-Za-z0-9\.\/]+)$/ # MD5 salt = $1 else pwd =~ /^([A-Za-z0-9\.\/]{2})/ # MD5以外は一般的なDESとしてみる salt = $1 end if pwd == chk.crypt(salt) return true else return false end end