Mam taki problem. Chcę zabezpieczyć stronę hasłem za pomocą kodu umieszczonego poniżej. Nie wiem dlaczego, za każdym razem przy wpisywaniu użytkownika i hasła, nie chce zaskoczyć i wyskakuje od nowa okno logowania. Login i hasło są umieszczone w pliku "*.htpassw". Umieszczałem je tam i w postaci: "user:pass", i w postaci: "user:mtFpzr.dwUxKA" - bo gdzieś przeczytałem, że musi być to zakodowane, a na pewnej stronie znalazłem generator. Mimo moich starań, efekt jest wciąż ten sam. Mam to wrzucone na stronie:
http://www.mac-pol.co.uk/1/e.phpJeśli ktoś ma pomysł, co w tym kodzie można zmienić tak, aby działał poprawnie, będę wdzięczny.
<?php
$file = 'haslo.htpassw';
$clear_pass_file = array ();
$pass_file = file ( $file ); foreach ( $pass_file as $line ) $clear_pass_file[] = preg_replace ( '/[r|\n]/', '', $line ); }
$user = empty ( $_SERVER['PHP_AUTH_USER'] ) ?
'' : $_SERVER['PHP_AUTH_USER']; $pass = empty ( $_SERVER['PHP_AUTH_PW'] ) ?
'' : $_SERVER['PHP_AUTH_PW'];
if ( !in_array ( $user.':'.$pass, $clear_pass_file ) ) { header('WWW-Authenticate: Basic realm="Musisz się zalogować!"'); header("HTTP/1.0 401 Unauthorized"); die("Brak uprawnień do przeglądania strony"); }
else {
echo "Witaj w strefie chronionej!"; }
?>