Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Hashowanie hasła
Kerth
post
Post #1





Grupa: Zarejestrowani
Postów: 250
Pomógł: 1
Dołączył: 6.08.2012

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


Cześć,
krótka piłka. Czym kodować(hashować) hasła? SHA1, MD5 czy połączenie tego?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
by_ikar
post
Post #2





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


Masz tutaj gotowca, bo widzę nie bardzo rozumiesz jak to działa..

  1. <?php
  2.  
  3. include 'zmienne.php';
  4. include 'inc/sql.php';
  5.  
  6. if(isset($_SESSION['zalogowany']))
  7. {
  8.  
  9. //część z danymi po zalogowaniu
  10. } else
  11. {
  12. if('POST' == $_SERVER['REQUEST_METHOD'])
  13. {
  14. $msg = 'Nieprawidłowy login i/lub hasło.';
  15.  
  16. $password = isset($_POST['haslo']) ? $_POST['haslo'] : false;
  17. $nick = isset($_POST['nick']) ? $_POST['nick'] : false;
  18.  
  19. //sprawdzanie czy przsłane dane są prawidłowe
  20. if(mb_strlen($nick) > 3 && mb_strlen($password) > 3)
  21. {
  22. $login = $db->prepare('SELECT * FROM `gracze` WHERE `nick` = BINARY :nick');
  23. $login->bindValue(':nick', $nick, PDO::PARAM_STR);
  24. $login->execute();
  25.  
  26. //sprawdzanie czy użytkownik istnieje
  27. if(false !== $data = $login->fetch())
  28. {
  29. //porównanie hash hasła z bazy danych, z hash'em hasła przesłanego przez użytkownika
  30. if(crypt($password, $data['haslo']) == $data['haslo'])
  31. {
  32. //logowanie użytkownika
  33. $_SESSION['zalogowany'] = true;
  34. $_SESSION['nick'] = $nick;
  35. $_SESSION['haslo'] = $password;
  36.  
  37. //przekierowanie na aktualny adres
  38. header('Location: '.$_SERVER['REQUEST_URI']);
  39. } else
  40. {
  41. //komunikat błędu w przypadku różnicy hasła z bazy i przesłanego hasła
  42. echo '<div class="red">'.$msg.'</div>';
  43. }
  44. } else
  45. {
  46. //komunikat błedu dla niepoprawnego loginu
  47. echo '<div class="red">'.$msg.'</div>';
  48. }
  49. } else
  50. {
  51. //komunikat błedu kiedy login/hasło są pustę, lub mają mniej niż 3 znaki
  52. echo '<div class="red">'.$msg.'</div>';
  53. }
  54. } else
  55. {
  56. echo '
  57. <div class = "pogrub">Logowanie do konta: </div>
  58. <form action="login.php" method="post">
  59. Wpisz Nick:<br/>
  60. <input type="text" name="nick" /><br/>
  61. Wpisz hasło:<br />
  62. <input type="password" name="haslo" /><br/>
  63. <input type="submit" value="Wyślij" name = "wyslij"/> <br/>
  64. </form>
  65. </div>';
  66. }
  67. }


jeżeli używasz przy echo lub include nawiasów (mimo że nie powinieneś) to już używaj wszędzie, inaczej świadczy to tylko o tym że nie jesteś pewien prawidłowej składni. Zmień w swoim edytorze tabulatory na spacje - o wiele bardziej czytelny kod. Stosuj wcięcia w kodzie - o wiele bardziej czytelny kod. Jeżeli kod sprawia ci trudności, wstawiaj komentarze do każdej konstrukcji która jest dla ciebie niezrozumiała.

Ten post edytował by_ikar 5.07.2014, 16:07:38
Go to the top of the page
+Quote Post

Posty w temacie
- Kerth   [PHP] Hashowanie hasła   3.07.2014, 21:49:02
- - Pyton_000   http://pl1.php.net/manual/en/function.crypt.php Im...   3.07.2014, 21:53:15
- - Crozin   PHP ≥ 5.5: http://www.php.net/manual/en/func...   3.07.2014, 21:58:56
- - redeemer   bcrypt (Blowfish): Dla PHP >= 5.5.0: password_...   3.07.2014, 21:59:55
- - Kerth   A jak mam zrobić, żeby mi nie kodowało 2 różnych h...   3.07.2014, 22:01:47
- - Michael2318   Byle nie md5 i koniecznie hasła z solą. Ja poleca...   3.07.2014, 22:03:17
- - redeemer   [PHP] pobierz, plaintext $crypted = crypt($has...   3.07.2014, 22:05:25
- - Kerth   Cytat(Michael2318 @ 3.07.2014, 23:03...   3.07.2014, 22:10:40
- - redeemer   Wiele algorytmów ma wbudowaną obsługę soli, która ...   3.07.2014, 22:15:12
- - Kerth   A jak ja mam to hasło odkodować? [PHP] pobierz, p...   3.07.2014, 22:33:01
- - Michael2318   hashu sie nie odkodowuje tylko koduje hasło, ktore...   3.07.2014, 22:41:47
- - Kerth   [PHP] pobierz, plaintext if ($login->rowCou...   3.07.2014, 22:48:40
- - Kerth   No to mam tak: [PHP] pobierz, plaintext $pass_cry...   3.07.2014, 22:58:02
- - redeemer   Polecam http://php.net/manual/pl/function.crypt.ph...   3.07.2014, 23:04:06
- - Kerth   Tyle mi zwraca: 1. Próba logowania: [PHP] pobierz...   3.07.2014, 23:09:49
- - redeemer   Powtarzam: przeczytaj manuala, bo nie tak się spra...   3.07.2014, 23:13:26
- - by_ikar   W manualu dla pasword_hash jest link do odpowiedni...   4.07.2014, 00:52:10
- - Pyton_000   Aby porównać hasła zakodowane metodą Crypt: [PHP] ...   4.07.2014, 07:18:00
- - Kerth   A jak ja mam pobrać $zakodowane_haslo_z_bazzy...   4.07.2014, 09:25:23
|- - by_ikar   Cytat(Kerth @ 4.07.2014, 10:25:23 ) A...   4.07.2014, 12:04:03
- - Turson   Jeżeli mówimy o logowaniu, to przecież musisz trzy...   4.07.2014, 09:26:58
- - Kerth   Może większy fragment, bo chyba nie rozumiecie o c...   4.07.2014, 17:25:30
- - by_ikar   No prawie gotowiec już ci dałem, musisz go tylko w...   4.07.2014, 18:35:17
- - Kerth   Ale jak za ten warunek: [PHP] pobierz, plaintext i...   4.07.2014, 18:45:08
- - Pyton_000   Nikt Ci nie powiedział że będzie taki sam. Przecie...   4.07.2014, 18:46:47
- - Kerth   To czemu jak w bazie mam: $1$ZC3.uB/....   4.07.2014, 18:49:37
- - Pyton_000   Kodowanie metodą Crypt daje za każdym razem inny H...   4.07.2014, 19:37:09
- - Kerth   Przepraszam, może jestem za głupi czy coś ale w ża...   4.07.2014, 20:18:38
- - minolone   Skąd bierzesz zmienną $haslo ? Przecież masz...   4.07.2014, 21:40:23
- - by_ikar   Masz tutaj gotowca, bo widzę nie bardzo rozumiesz ...   5.07.2014, 13:13:48
- - Kerth   Dzięki za pomoc, choć liczyłem, że uda mi się same...   5.07.2014, 14:05:05
|- - by_ikar   Cytat(Kerth @ 5.07.2014, 15:05:05 ) D...   5.07.2014, 16:07:11
- - viking   Zrób sobie var_dump($login). Fetch to metoda ...   5.07.2014, 15:37:36
- - Pyton_000   [PHP] pobierz, plaintext if(false !== $data = ...   5.07.2014, 15:42:18


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: 18.10.2025 - 03:09