![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 9.03.2004 Skąd: Stalowa Wola Ostrzeżenie: (0%) ![]() ![]() |
Oto mój skrypt login.php
[php:1:2a54e88739]<? mysql_connect("serwer", "login", "haslo"); mysql_select_db("baza"); if(!isset($PHP_AUTH_USER)) { header('WWW-Authenticate: Basic realm="Witaj w panelu administracyjnym ."'); header('HTTP/1.0 401 Unauthorized'); echo "Nie mogę Cię zalogować."; exit; } else { $sprawdz = "SELECT pass FROM users WHERE login='$PHP_AUTH_USER'"; $pass_db = mysql_query($sprawdz) or die(mysql_error()); if($PHP_AUTH_PW != "$pass_db") { header('WWW-Authenticate: Basic realm="Witaj w panelu administracyjnym."'); header('HTTP/1.0 401 Unauthorized'); echo "Nie mogę Cię zalogować."; exit; } else { echo "Zalogowałeś się pomyślnie."; } } ?>[/php:1:2a54e88739] Problem jest następujący... gdy chcę się zalogować i wpisuje dobre dane 3 razy wyskakuje okienko logowania, a następnie wyskakuje komunikat 'Nie mogę Cię zalogować.' |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 9.03.2004 Skąd: Stalowa Wola Ostrzeżenie: (0%) ![]() ![]() |
8O ups... zauważyłem poważnego buga w moim skrypcie. Chodzi o to, że jeżeli ktoś poda login, którego nie ma w bazie, to wtedy może podać jakiekolwiek hasło i być zalogowanym jako $PHP_AUTH_USER. Więc postanowiłem zmodyfikować skrypt...
[php:1:75523ca241] <? mysql_connect("serwer", "login", "haslo"); mysql_select_db("baza"); $pobierz = "SELECT login FROM engine_users"; $wykonaj = mysql_query($pobierz) or die(mysql_error()); if($wiersz=mysql_fetch_array($wykonaj)) { $login = $wiersz['login']; } if($PHP_AUTH_USER != "$login" || !isset($PHP_AUTH_USER)) { header('WWW-Authenticate: Basic realm="Witaj w panelu administracyjnym serwisu GtaGame.prv.pl, proszę podać swój login oraz hasło."'); header('HTTP/1.0 401 Unauthorized'); echo "Nieprawidłowy login."; exit; } else { $sprawdz = "SELECT pass FROM engine_users WHERE login='$PHP_AUTH_USER'"; $pass_db = mysql_query($sprawdz) or die(mysql_error()); while($row = mysql_fetch_array($pass_db)) $haslo_db = $row['pass']; if($PHP_AUTH_PW != "$haslo_db") { header('WWW-Authenticate: Basic realm="Witaj w panelu administracyjnym."'); header('HTTP/1.0 401 Unauthorized'); echo "Nieprawidłowe haslo"; exit; } else { echo "Zalogowałeś się pomyślnie <B>$PHP_AUTH_USER.</B>"; } } ?> [/php:1:75523ca241] Lecz teraz moze logować się tylko użytkownik, który w tabeli ma nadany id=1. Reszcie wywala, że nieprawidłowy login. Problem podobny jak ten pierwszy, lecz teraz tyczy się loginu. Wiecie może co zrobić? WIelkie dzięki za pomoc. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 16:36 |