2011年11月25日星期五

lighttpd htdigest

Lighttpd用htdigest方式登入,可以看這篇教學
我是使用了vhost的,不過主要是在url裏設定auth.require
例如要為trac設定登入,指定trac/.*/login需要認證才能訪問
我選擇了htdigest作為認證方式,clinet那邊會先把password跟username和realm做hash然後才傳給server
這種登入方式不是十分安全的但總比沒有好:)

auth.backend                   = "htdigest"
auth.backend.htdigest.userfile = "/etc/lighttpd/lighttpd-htdigest.user"

    $HTTP["url"] =~ "^/trac/.*/login($|/)" {
        auth.require               = (
                                      "/" =>
                                      (
                                       "method"  => "digest",
                                       "realm"   => "XxXXXxxxXx",
                                       "require" => "valid-user"
                                      )
                                    )

除了在url裏指定auth.require還要在global的地方指定userfile的位置
在userfile裏存放了登入的帳號和密碼hash
格式是:
"username:realm:passwdhash"
可以用下面的function來方便地產生
function hdg() { user=$1; realm=$2; pass=$3; hash=`echo -n "$user:$realm:$pass" | md5sum | cut -b -32`; echo "$user:$realm:$hash" ; }
hdg user xxxxx ppppp
user:xxxxx:15c45a538d4d92f0a4f519311147f098
發佈留言

熱門文章