PHP - automatyczne logowanie
| DZIAŁANIE: | Działanie : TUTAJ |
Kod:

Ewentualne Objaśnienia:
Oto przykład bazujący na sesjach oraz cookies, który ma posłużyć do automatycznego logowania - czyli dzięki ciasteczkom będzie można jeśli tylko użytkownik zechce zapamiętać jego login oraz hasło, aby za każdym razem nie trzeba było się od nowa logować.
Należy zauważyć, że zaprezentowana tutaj funkcja sprawdzHaslo - to
funkcja, której na pewno nie należy nigdzie używać - hasła powinny być
przechowywane w pliku tekstowym, zaszyfrowane, plik nie powinien być dostępny
dla nikogo z zewnątrz lub też w przypadku dużej ilości użytkowników w bazie
danych. Generalnie w przypadku logowania do jakiegoś prostego paneliku, gdzie
dostępowy jest tylko 1 zestaw loginu i hasła można użyć rozwiązania o zapisaniu
hasła w podobny sposób jak tutaj czy jakimś zewnętrznym pliku typu
config.inc.php .
Istotne jest także, że strona na którą będziemy odsyłani po poprawnym
zalogowaniu czyli tutaj 197tajna.php powinna w sobie posiadać mechanizm
sprawdzania zalogowania czyli generalnie sprawdzać sesję $_SESSION['login'].
Rzecz jasna nie ma sensu takiego kodu powtarzać - wpisywać dla każdej pod
strony, do której dostęp ma być możliwy po zalogowaniu - wystarczy dołączyć
odpowiedni plik z kodem sprawdzającym - tak jak w przykładzie
161strukturalny_panel.php .
Ogólne omówienie kodu :
- jeśli jesteśmy zalogowani od razu przenosimy się na naszą tajną stronę
- jeśli istnieją ciasteczka - zapamiętane jest nasze logowanie czyli user i
hasło sprawdzamy czy są one poprawne - jeżeli tak przenosimy się na tajną
stronę, jeżeli nie stare cookies jest usuwane
- jeżeli nie ma zapamiętanych danych, a istnieją dane POST czyli przesyłany jest
login i hasło oraz są one poprawne sprawdzamy czy wybrano opcję automatycznego
logowania - jeżeli tak ustawiane jest odpowiednie cookies pamiętające usera i
hasło, jeżeli nie po prostu przenosimy się na tajną stronę
Nie pokazałem tutaj kodu formularza pobierającego dane od użytkownika, ale to
bardzo proste nie mniej jednak gdyby ktoś miał wątpliwości to :
<FORM method="post"><b>User : </b><input type="text" name="nazwa"><br/>
<b>Hasło : </b><input type="password" name="haslo"><br/>
<b>Logowanie automatyczne : </b><input type="checkbox" name="autolog" value="pamietaj"><br/>
<input type="submit" value="loguj"></FORM>