我想保护目录并根据mysql数据库验证用户身份。我正在使用lighttpd并且无法找到这样做的方法。有可能吗?
答案 0 :(得分:2)
您可以使用mod_auth,here是相关的文档页面
由于它无法直接访问数据库,我建议使用'htdigest'方法,并从数据库用户重新生成文件。
'htdigest'格式只是:“user:realm:md5(password)”,如页面所述。
从php脚本生成这样的文件应该非常简单。 伪代码:
foreach ($users as $user) {
// $user['md5pass'] = md5($user['password']);
$line = sprintf("%s:%s:%s\n", $user['username'], 'protected', $user['md5pass']);
file_put_contents('htdigest-file', $line, FILE_APPEND);
}
此外,在同一页面中,这是mod_auth的示例lighttpd配置:
auth.backend = "htdigest"
auth.backend.htdigest.userfile = "lighttpd-htdigest.user"
auth.require = ( "/download/" =>
(
# method must be either basic or digest
"method" => "digest",
"realm" => "download archiv",
"require" => "user=agent007|user=agent008"
),
"/server-info" =>
(
# limit access to server information
"method" => "digest",
"realm" => "download archiv",
"require" => "valid-user"
)
)