Jak sprawdzić w pliku tekstowym czy istnieje podany użytkownik i czy jego hasło jest poprawne


[PHP] Jak sprawdzić w pliku tekstowym czy istnieje podany użytkownik i czy jego hasło jest poprawne?

0x01 graphic

Chcesz sprawdzić, czy podany login i hasło odpowiadają użytkownikowi, który istnieje zapisany w pliku tekstowym.

0x01 graphic

Tworząc serwisy, gdzie wymagana jest autoryzacja, a nie ma możliwości aby skorzystać z bazy danych, dobrym rozwiązaniem jest zapisanie użytkownika i jego hasła w pliku tekstowym. Podczas logowania, skrypt może sprawdzić, czy użytkownik istnieje i czy podane hasło zgadza się z zamieszczonym w pliku. Oczywiście sam plik musi być umieszczony w katalogu, do którego nikt nie powinien mieć dostępu przez strony WWW.

Napiszmy skrypt, który sprawdzi czy w pliku istnieje podany użytkownik i czy jego hasło jest poprawne. Jeżeli użytkownik istnieje i hasło jest poprawne, będziemy mogli dokonać autoryzacji i np. wpuścić użytkownika do serwisu.

Niech loginy i hasła będą zapisane w pliku tekstowym w następujący sposób:

janek|pskjuytdg76

michal|22h876dd

piotr|frhaslo23

itd...

Teraz zajmijmy się sprawdzeniem, czy podany login i hasło istnieją...

<?

function autoryzacja($login, $haslo) {

$plik= file("hasla.txt");

foreach($plik as $linijka) {

$dane = explode("|",$linijka);

if ((trim($login)==trim($dane[0]))and(trim($haslo)==trim($dane[1])))

return true;

}

return false;

}

$login="michal"; //pobrane z formularza na stronie

$haslo="22h876dd"; //pobrane z formularza na stronie

if (autoryzacja($login,$haslo)) {

echo "autoryzacja przebiegła pomyślnie...";

// tutaj zawartosc strony po autoryzacji

} else {

echo "login lub hasło podane błędnie...";

// tutaj strona, z prosba o ponowne zalogowanie

}

?>

Zmienne $login oraz $haslo przechowują wartości wpisane przez użytkownika i pobrane np. przez formularz na stronie. Mając te wartości wywołujemy funkcję autoryzacja() przekazując login i hasło.

Funkcja pobiera z pliku poszczególne linijki, rozbija je na pola oddzielone znakiem "|" i sprawdza, czy istnieje login i hasło o podanych parametrach. Jeżeli znajdzie w pliku podany login i hasło, zwraca wartość true (prawda), jeżeli nie znajdzie, zwraca wartość false (nieprawda). Funkcja trim() oczyszcza wyrazy z białych znaków (spacji i znaków końca linii).

Na podstawie tego, co zwróci funkcja autoryzacja(), można już w warunku if określić czy następiła autoryzacja i podany login oraz hasło istnieją. Jeżeli tak, wystarczy dołączyć lub wykonać dalszą część skryptu przeznaczoną dla użytkowników zalogowanych, jeżeli nie pozostaje poinformować o błędzie i np. zaproponować wypełnienie formularza ponownie lub skontaktowanie się z administratorem serwisu aby przydzielił hasło i login.

Dopisywanie loginów i haseł do pliku tekstowego też można zautomatyzować i wykonywać przy wypełnieniu jakiegoś formularza autoryzacyjnego. Jeżeli sprawdzanie hasła i loginu następuje na wielu stronach, a plik z hasłami jest duży (ponad 1000 linii), może się okazać, że taki sposób nie będzie wydajny.

Wtedy pozostaje skorzystanie z jakiejś bazy danych (MySQL, Postgres) lub pokombinowanie np. z cookies, które mogą mieć ustawianą odpowiednią wartość podczas pierwszej autoryzacji i wtedy dalsze szukanie w pliku z hasłami stanie się zbędne bo wystarczy sprawdzić zawartość cookies.



Wyszukiwarka

Podobne podstrony:
Jak sprawdzić czy istnieje podany użytkownik i jego hasło jest poprawne, PHP Skrypty
jak sprawdzic karte graficzna czy jest sprawna
Jak sprawdzić czy domena istnieje i do kogo należy, PHP Skrypty
Jak sprawdzić czy w bazie danych istnieje aktualnie dodawana treść, PHP Skrypty
Jak pobrać i zapisać do pliku?resy stron oraz wyszukiwarek, z których użytkownicy wchodzą na naszą s
Jak sprawdzic czy pracodawca od Nieznany
Jak wypisać w tabeli zawartość pliku tekstowego z polami oddzielonymi separatorem, PHP Skrypty
Jak sprawdzić czy numer ewidencyjny PESEL został wpisany poprawnie
Jak sprawdzić czy numer rachunku bankowego (NRB) został wpisany poprawnie, PHP Skrypty
Jak stworzyć formularz, który zapisze?ne do pliku tekstowego,?y potem jego zawartość dołączyć
Jak dopisać dane na początku pliku tekstowego, PHP Skrypty
Jak szybko przenieść zawartość pliku tekstowego do tabeli, PHP Skrypty
Jak sprawdzić czy zmienna przechowuje liczbę całkowitą lub rzeczywistą, PHP Skrypty
Jak sprawdzić czy pracodawca odprowadza składki ZUS
Jak sprawdzić czy dwa wyrazy są dla siebie anagramami (są permutacją, PHP Skrypty
Jak sprawdzić czy nasz komputer nie jest zainfekowany(1)
Jak sprawdzić typ systemu Windows (32 czy 64 bitowy) (Windows 7 i Windows Vista)
Jak sprawdzić, czy RAM działa prawidłowo
Jak sprawdzic czy wykonawca dysponuje osobami zdolnymi do realizacji zamowienia

więcej podobnych podstron