Article View: pl.comp.www.server-side
Article #61531Re: problem z logowaniem mimo poprawnego pliku .htpass
From: PawelS pawel(at)wbcd(dot)pl
Date: Thu, 30 Apr 2020 17:30
Date: Thu, 30 Apr 2020 17:30
88 lines
4058 bytes
4058 bytes
RM pisze:
> Mam prawdopodobnie problem z plikiem .htpass utworzonym przez program
> htpasswd.
>
> Użytkownik Robert może się zalogować z hasłem hasło_Roberta, a
> użytkownik Adam z hasłem hasło_Adama nie.
>
> Tzn. mam:
>
> $ head ~robert/public_html/.htaccess
> #v+
> AuthUserFile "/home/robert/resources/.htpass"
> AuthName "Strony zabezpieczone"
> AuthType Basic
> require valid-user
>
> $ cat ~robert/resources/.htpass
> Adam:$apr1$SBuOrH52$npHXYtgKVDJMaq6vR3PKT1
> Robert:$apr1$bBUEgXpC$oqJ05771CIL3VXhPDz8nK.
>
> $ htpasswd -v ~robert/resources/.htpass Robert
> Enter password:hasło_Robeta
> Password for user Robert correct.
>
> $ htpasswd -v ~robert/resources/.htpass Adam
> Enter password: hasło_Adama
> Password for user Adam correct.
Ta opcja "-v" ma zweryfikować hasło ?
> $ ls -la ~robert/resources/.htpass
> -rw-rw-r-- 1 robert www-data 176 kwi 29 22:25 .htpass
>
> $ cat ~robert/public_html/strona.php
>
> ...
>
> function authenticate() {
> if (!isset($_SERVER['PHP_AUTH_PW'])) {
> // wyświetl okienko:
> header('HTTP/1.0 401 Authorization Required');
> header("WWW-Authenticate: Basic realm=Logowanie do systemu");
> exit;
> }
> $currentAdmin = ... // wpisany login, 'Adam' albo 'Robert'
> $users =array('Adam', 'Robert');
> $passwords = array('hasło_Adama', 'hasło_Roberta');
> if (!isset($_SERVER['PHP_AUTH_PW']) ||
> $passwords[array_search($currentAdmin, $users)] !=
> $_SERVER['PHP_AUTH_PW'] ||
> !in_array($currentAdmin, $users)) { // złe hasło
> header("WWW-Authenticate: Basic realm=Logowanie do systemu");
> header("HTTP/1.0 401 Unauthorized");
> echo '*** Niepowodzenie logowania ***';
> return FALSE;
> } else { // dobre hasło
>
> ...
>
> }
> return TRUE; // zalogowany
> }
Jeśli dobrze rozumiem powyższy kod, to sam sprawdzasz poprawność hasła ?
To może problemem jest ta linia:
> $currentAdmin = ... // wpisany login, 'Adam' albo 'Robert'
Tu powyżej masz wpisany tylko jeden login,
a próbujesz zalogować się dwa razy,
używając jednego a potem drugiego loginu.
Tutaj poniżej też widzę nie poprawną konstrukcję
> $users =array('Adam', 'Robert');
> $passwords = array('hasło_Adama', 'hasło_Roberta');
To bardzo niebezpieczny zapis, kiedy indeksy przestaną być zbieżne,
hasła będą przypisane do innych loginów.
Nie lepiej zapisać to tak: ?
$USERPASS =array('Adam'=>'hasło_Adama', 'Robert'=>'hasło_Roberta');
Poza tym naprawdę używasz polskich liter w haśle ?
może gdybyś zamiast 'hasło_Adama' zastosował:
'hasło_Huberta'
'hasło_Roberta'
może problem jest z polskimi literami i kodowanie (tak tylko wymyślam) ?
Przede wszystkim najpierw wyłączył bym własne sprawdzanie hasła.
W pierwszej kolejności sprawdziłbym czy w apache wywołanie
pliku / strony np: index.html działa.
W drugiej kolejności próbowałbym ze skryptem.
Technical Details
Message-ID:
<5eab0b5f$0$548$65785112@news.neostrada.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!news.uzoreto.com!ecngs!feeder.ecngs.de!border1.nntp.ams1.giganews.com!nntp.giganews.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailReferences:
<r8db9p$28n4t$1@portraits.wsisiz.edu.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!news.uzoreto.com!ecngs!feeder.ecngs.de!border1.nntp.ams1.giganews.com!nntp.giganews.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail Date: Thu, 30 Apr 2020 19:30:58 +0200 From: "PawelS pawel(at)wbcd(dot)pl" <fake@email.org> User-Agent: Thunderbird 2.0.0.18 (X11/20081120) MIME-Version: 1.0 Newsgroups: pl.comp.www.server-side Subject: Re: problem z logowaniem mimo poprawnego pliku .htpass References: <r8db9p$28n4t$1@portraits.wsisiz.edu.pl> In-Reply-To: <r8db9p$28n4t$1@portraits.wsisiz.edu.pl> Lines: 88 Message-ID: <5eab0b5f$0$548$65785112@news.neostrada.pl> Organization: Telekomunikacja Polska NNTP-Posting-Host: 89.231.96.70 X-Trace: 1588267871 unt-rea-a-02.news.neostrada.pl 548 89.231.96.70:60882 X-Complaints-To: abuse@news.neostrada.pl Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit