Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][sql]Sprawa delikatna, bardzo delikatna (hasła)
--tomek--
post
Post #1





Goście







Witam! Mam w bazie danych MySQL tabele z zarejestrowanymi użytkownikami i chciałbym przy logowaniu sprawdzać czy podany login i hasło zgadzają się ze znajdującymi sie w bazie;) Jeśli takowe się znajdują to użytkownik został zalogowany, jeśli nie to nie.

Dlatego mam pytanie jak zapisac z poziomu PHP zapytanie do bazy danych MySQL czy podany login i hasło zgadzają się z tymi w bazie?


Ten przykład nie dziala: $query= "select * from uzytkownicy where nick=='$l' szyfr=='$h'";

Zaznaczam, że tabela zawierające dane użytkownika nazywa się uzytkownicy a $l=$_POST['login'] natomiast $h=$_POST['haslo']

Z góry dziękuje za pomoc i pozdrawiam!!!;)
Powód edycji: dodalem tag i lekko zmieniłem temat (cysiaczek)
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Jeśli hasło jest szyfrowane/hashowane, to gdy sprawdzasz, to musisz podane w formularzu hasło też zaszyfrować/zahashować i wtedy pewnie stringi będą się zgadzały, Sprawdź jak jest przechowywane hasło w bazie - zobacz na funkcję zapisującą login i hasło do bazy (przy rejestracji).
Najczęsciej jest stosowane md5();

np.
  1. <?php
  2. $h=md5($h);
  3. $query= "select * from uzytkownicy where nick=='$l' szyfr=='$h'";
  4. ?>


Na przyszość - zapoznaj się z zasadami forum Przedszkole, bo następnym razem topik zostanie zamknięty

Pozdrawiam.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
tehn
post
Post #3





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 8.09.2007

Ostrzeżenie: (0%)
-----


w sqle operator porównania to jedno =

  1. <?php
  2. $h=md5($h);
  3. $query= "select * from uzytkownicy where nick='$l' szyfr='$h'";
  4. ?>


--------------------
sidzina
Go to the top of the page
+Quote Post
piwi_7
post
Post #4





Grupa: Zarejestrowani
Postów: 11
Pomógł: 1
Dołączył: 16.04.2006

Ostrzeżenie: (0%)
-----


Ze wgzlędów bezpieczeństwa zaszyfruj pole hasło algorytmem md5(). Chociaż to nie jest super bezpieczne rozwiązanie i powinieneś poczytać więcej na ten temat.

A odnośnie zapytania do bazy to powinno wyglądać następująco:

  1. <?php
  2. $login=$_POST['login'];
  3. $haslo=$_POST['haslo'];
  4.  
  5. //Połączenie z bazą danych
  6. $link=mysql_connect('adres_do_bazy','login_do_bazy','haslo_do_bazy');
  7. mysql_select_db('nazwa_bazy_danych',$link);
  8.  
  9. $zapytanie="SELECT * FROM `uzytkownicy` WHERE `nick`='$login' AND `szyfr`='$haslo'";
  10. $result=mysql_query($zapytanie,$link);
  11.  
  12. if(!mysql_num_rows($result))
  13.  {echo "Nie znaleziono takiego gościa";}
  14. else
  15.  { //instrukcje po pomyślnej autoryzacji danych}
  16. ?>


Pisane z palca, więc trzeba sprawdzić średniki itp...
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 08:09