Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> System logowania opary o MySQL
Strarus
post
Post #1





Grupa: Zarejestrowani
Postów: 339
Pomógł: 12
Dołączył: 22.11.2008

Ostrzeżenie: (20%)
X----


cześć:)
Chciałbym napisać system logowania oparty o mysql i sesje. Chciałbym się dowiedzieć na co muszę zwrócić uwagę podczas pisania takowego skryptu aby dany system był jak najbezpieczniejszy. Moja teoria napisania skryptu:
*login.php
- Sprawdza czy zostały przesłane dane (login i hasło). Jeśli tak: łączy się z bazą, wyciąga hasło z tabeli users gdzie login jest taki jak ten z POSTu. Jeśli wszystko się zgadza daję do sesji zmienną zalogowany, następnie przekierowuję na index.php (zabezpieczony przed wejściem bez sesji zalogowany). Jeśli nie są przesłane login i hasło pokazuje formularz z hasłem i loginem.
*logout.php
- Niszczę sesję zalogowany i przekierowuję na index.php
*index.php
- Sprawdzam czy jest sesja zalogowany jeśli tak - wyświetlam zawartość (u mnie będzie to system newsów) jeśli nie pokazuję link zaloguj i inne szczegóły strony.

Wszystko dobrze?? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Teraz jakich funkcji i gdzie ich użyć aby mój skrypt byłbezpieczny (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Mlodycompany
post
Post #2





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


Proponuje Ci zrobić takie zapytanie

  1. SELECT * FROM `users` WHERE `login` = '".$login."' AND `haslo` = '".$haslo."'


To zapytanie sprawdza czy w bazie jest rekord gdzie login = login a haslo = haslo i zwraca rekord. Możesz sobie zabezpieczyć dodatkowo przed atakiem dodając: 

  1. <?php
  2. $query = mysql_query(zapytanie w/w);
  3.  
  4. $row = mysql_fetch_row($query);
  5.  
  6. if($row['login'] == $login AND $row['haslo'] == $haslo){
  7.  
  8. $zalogowany = true;
  9.  
  10. }
  11. ?>


i przy zmianie nazwy zmiennych posta dodać funkcję jeszcze addslashes();



Jak na mój gust logowanie będzie dosyć bezpieczne i funkcjonalne. Ja tak robię zawsze i działa wszystko (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 13:17