![]() |
![]() |
![]()
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: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
czyżby register_globals = Off ?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 9.03.2004 Skąd: Stalowa Wola Ostrzeżenie: (0%) ![]() ![]() |
Nie... wręcz przeciwnie... Register Globals = ON :? .
|
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Zmień komunikaty błędów, tak, by można było zobaczyć, na którym etapie wywala komunikat.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 9.03.2004 Skąd: Stalowa Wola Ostrzeżenie: (0%) ![]() ![]() |
Ok już mam, wielkie dzięki za pomoc kszychu. Problem polegał na tym, że nie zastosowałem instrukcji warunkowej. Poniżej podaję kod, może komuś kiedyś się przyda.[php:1:7ff87821ff]<?
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 "Nieprawidłowy login."; exit; } else { $sprawdz = "SELECT pass FROM users WHERE login='$PHP_AUTH_USER'"; $pass_db = mysql_query($sprawdz) or die(mysql_error()); if($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:7ff87821ff] |
|
|
![]()
Post
#6
|
|
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: 17.09.2025 - 20:53 |