ďťż

[PHP][MySQL]Jakie zapytanie do MySQL dla formularza logowania?

       

Podstrony


telcocafe

Jakiego zapytania do bazy danych MySQL mam użyć przy formularzu logowania? Wydaje mi się, że SELECT, ale cały czas coś nie tak mi wychodzi.



Samo zapytanie logowania ci nie da. Pobierasz z bazy danych rekord użytkownika o podanym haszu podanego hasła i o podanym loginie. Jeżeli rekord jest - dane poprawne i można zalogować.

SELECT ID, login, pass, inne_pola FROM users WHERE login = :loginPotem sprawdź, czy hasło pobrane z bazy danych jest identyczne (===) jak zakodowane hasło przesłane w formularzu.if(strtolower($u['login']) === strtolower($login) && $u['pass'] === $md5)Zakładam, że zmienne $login i $md5 wcześniej definiujesz na podstawie danych z $_POST i odpowiednio zabezpieczasz.

W CMS-ie robię to tak: login.php
Użytkownik Ferrari edytował ten post 30 maj 2009, 20:10

<ciach>zakodowane hasło<ciach>
To ja mam kodować hasło? Ten formularz i tak będzie na serwerze HTTPS.

<ciach>odpowiednio zabezpieczasz.<ciach>
W jakim sensie?
Użytkownik Kamil1000 edytował ten post 31 maj 2009, 13:28


W bazie nie przechowujesz oryginału hasła a jedynie hasz md5, czy sha1. Porównujesz hasz podanego przez usera hasła z haszem zapisanym w bazie. Do tego w zapytaniu wstawiając dane z formularza - czy to login, czy hasło należy zadbać o zabezpieczenie danych przed próbą SQL Injection (np. mysql_real_escape_string).

No OK, ale ja tak zrobić nie mogę, ponieważ z tej samej bazy będzie korzystał serwer gry Tibia (nie można ustawić w nim sprawdzania hashów), po prostu muszę zrobić stronę dla tego serwera z możliwością rejestracji konta i zarządzania postaciami na serwerze.

Strona osoby trzeciej wymagająca poufnych danych do konta ? Podejrzewam że w regulaminie mają to uregulowane ;) Jak nie możesz trzymać haszów to trzymasz same hasła. Algorytm ogólnie się nie zmienia.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.