Mam problemy z autoryzacją, a mianowicie przy wpisywaniu loginu oraz hasla (ktore sa poprawne) prosi mnie o ponowne i nastepnie ponowne wpisanie, po czym okazuje sie ze mnie wywala (przekroczony limit 3 prob). Podaje kod:
index.php
Kod
<?
$auth = false; // założenie o braku autoryzacji
if (isset($PHP_AUTH_USER) && isset($PHP_AUTH_PW)) {
// Odczyt pliku z nazwami użytkowników i ich hasłami
$filename = 'users.txt';
$fp = fopen( $filename, 'r' );
$plik = fread($fp, filesize($filename));
fclose($fp);
// Wstawienie każdej linii do tablicy
$linie = explode ( "\n", $plik );
// sprawdzenie każdej pary UŻYTKOWNIK:HASŁO
foreach ($linie as $wiersz) {
list($username, $password) = explode('|', $wiersz );
if(($username == $PHP_AUTH_USER) && ($password == $PHP_AUTH_PW)) {
$auth = true;
break;
}
}
}
if (!$auth) {
header('WWW-Authenticate: Basic realm="Obszar Autoryzacji"' );
header('HTTP/1.0 401 Unauthorized' );
echo "Przykro mi! Dostęp do tego zasobu wymaga autoryzacji.";
exit;
} else {
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Strefa autoryzacji</title>
<meta http-equiv="content-type"
content="text/html; CHARSET=iso-8859-2">
</head>
<body>
<h1>Witaj w strefie zabezpieczonej</h1>
<?
echo "<p>Zostałeś autoryzowany jako:
<strong>".$PHP_AUTH_USER."</strong></p>";
}
?>
</body>
</html>
$auth = false; // założenie o braku autoryzacji
if (isset($PHP_AUTH_USER) && isset($PHP_AUTH_PW)) {
// Odczyt pliku z nazwami użytkowników i ich hasłami
$filename = 'users.txt';
$fp = fopen( $filename, 'r' );
$plik = fread($fp, filesize($filename));
fclose($fp);
// Wstawienie każdej linii do tablicy
$linie = explode ( "\n", $plik );
// sprawdzenie każdej pary UŻYTKOWNIK:HASŁO
foreach ($linie as $wiersz) {
list($username, $password) = explode('|', $wiersz );
if(($username == $PHP_AUTH_USER) && ($password == $PHP_AUTH_PW)) {
$auth = true;
break;
}
}
}
if (!$auth) {
header('WWW-Authenticate: Basic realm="Obszar Autoryzacji"' );
header('HTTP/1.0 401 Unauthorized' );
echo "Przykro mi! Dostęp do tego zasobu wymaga autoryzacji.";
exit;
} else {
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Strefa autoryzacji</title>
<meta http-equiv="content-type"
content="text/html; CHARSET=iso-8859-2">
</head>
<body>
<h1>Witaj w strefie zabezpieczonej</h1>
<?
echo "<p>Zostałeś autoryzowany jako:
<strong>".$PHP_AUTH_USER."</strong></p>";
}
?>
</body>
</html>
users.txt
Kod
pawel|agent
dupa|jasiu
dupa|jasiu
W skrypcie odp. za porownywanie wpisanych loginu oraz hasla z dostepnymi z tymi w bazie bledu nie widze, dalej tez nie. Moze blad jest gdzies indziej? Nie wiem.
Duzo nie programuje, wiec zdaje sie na Waszą pomoc, za którą z góry dziękuję.