Bir php komut dosyası kullanarak lighttpd bir dizin koruyun

1 Cevap php

Ben bir dizin korumak ve bir mysql veritabanına karşı kullanıcıların kimliğini doğrulamak istiyorum. Ben lighttpd kullanıyorum ve bunu yapmanın bir yolunu bulmak mümkün olmamıştır. Bu mümkün mü?

1 Cevap

Sen mod_auth kullanabilirsiniz, here alakalı doc sayfası

Bir veritabanına doğrudan erişim olduğundan, ben 'htdigest' yöntemini kullanarak, ve veritabanı kullanıcıların dosyayı yenileyici öneriyoruz.

'htdigest' biçiminde, sadece şudur: "kullanıcı: bölge: md5 (şifre)", sayfa açıklandığı gibi.

Generating a file like this from a php script should be extremely simple. pseudo-code:

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);
}


Ayrıca, aynı sayfada, burada mod_auth modülü için örnek bir lighttpd yapılandırma:

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" 
                 )

)