Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Kodowanie hasla md5
-Refost-
post 19.03.2006, 19:54:46
Post #1





Goście







Mam taki kod do odczytywania hasla:

  1. <?php
  2. $wybierz_A = (" Select * From `administratorzy` Where `nazwa` = '".$nazwa."' and `haslo` = '".$haslo."' ");
  3. $query_A = mysql_query ( $wybierz_A );
  4. $row_A = mysql_fetch_array ( $query_A );
  5.  
  6. $haslo = $row_A['haslo'];
  7.  
  8. if ( !empty ( $_POST['nazwa'] ) && !empty ( $_POST['haslo'] )) {
  9.  
  10.   if ( $row_A['nazwa'] == $_POST['nazwa'] && ( md5 ( $row_A['haslo'] )) == $_POST['haslo'] ) {
  11.       
  12.         $_SESSION['Admin'] = $_POST['nazwa'];
  13.     }
  14. }
  15. ?>


A dodaje tak:

  1. <?php
  2.  
  3. $a = mysql_query (" INSERT INTO `admin` (`id`, `imie`, `nazwa`, `haslo`, `email`) VALUES ('0', '".$_POST['imie']."', '".$_POST['nazwa']."', '".md5 ( $_POST['haslo'] )."', '".$_POST['email']."') ");
  4.  
  5. ?>


i czemu jak probuje logowac to sie nie loguje? dobrze mam napisany ten kod?
Go to the top of the page
+Quote Post
-Refost-
post 19.03.2006, 19:55:54
Post #2





Goście







Sorry.. W drugim kodzie zamiast `admin` ma byc `administratorzy`..
Go to the top of the page
+Quote Post
nospor
post 19.03.2006, 20:03:17
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




skoro do bazy wkladasz shaszowane haslo, to i do porownywania musisz hashowac.

i na przyszlosc uzywaj znacznikow w tytulach zgodnie z zadami forum Przedszkole


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
-Guest-
post 19.03.2006, 20:41:07
Post #4





Goście







No hashuje je przez md5 :/
Go to the top of the page
+Quote Post
Master Miko
post 19.03.2006, 20:54:48
Post #5





Grupa: Zarejestrowani
Postów: 530
Pomógł: 0
Dołączył: 15.01.2005
Skąd: Warszawa

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


ale nie ma pętli while. Sprawdzasz tylko dla pierwszego rekordu. To nie ma związku z md5

Ten post edytował Master Miko 19.03.2006, 20:56:39


--------------------
Go to the top of the page
+Quote Post
nospor
post 19.03.2006, 22:22:02
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




  1. <?php
  2. $wybierz_A = (" Select * From `administratorzy` Where `nazwa` = '".$nazwa."' and `haslo` = '".$haslo."' ");
  3. ?>
Mi chodzilo o ten kod. porownujesz haslo zakodowane w md5 zapisane w bazie z haslem niezakodowanym pobranym z formularza. Musisz to co zostanie pobrane z formularza, shashowac przed porownaniem


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
-Guest-
post 20.03.2006, 06:46:28
Post #7





Goście







Nie rozumiem :/
Go to the top of the page
+Quote Post
TomASS
post 20.03.2006, 07:05:58
Post #8





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

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


Koledze nosporowi chodzi o to, że jeśli przetrzymujesz w bazie danych hasło zakodowane md5, który jest nieodwracalny:
  1. <?php
  2.  
  3. $a = mysql_query (" INSERT INTO `admin` (`id`, `imie`, `nazwa`, `haslo`, `email`) VALUES ('0', '".$_POST['imie']."', '".$_POST['nazwa']."', '".md5 ( $_POST['haslo'] )."', '".$_POST['email']."') ");
  4.  
  5. ?>

(chodzi o md5 ( $_POST['haslo'] )), to także porównywać musisz z hasłem zakodowanym:
  1. <?php
  2.  
  3. $wybierz_A = (" Select * From `administratorzy` Where `nazwa` = '".$nazwa."' and `haslo` = '".md5($haslo)."' ");
  4.  
  5. ?>


A ty robisz bez md5($hasło) co sprawia, że pruwnujesz hasło zakodowane z hasłem niezakodowanym. Tutaj:
  1. <?php
  2.  
  3. if ( $row_A['nazwa'] == $_POST['nazwa'] && ( md5 ( $row_A['haslo'] )) == $_POST['haslo'] ) {
  4.  
  5. ?>

Też raczej popraw - na odwrót:
  1. <?php
  2.  
  3. $row_A['haslo'] )==md5($_POST['haslo'] ));
  4.  
  5. ?>


Poczytaj o md5 - szczególnie komentarze oraz to i to dla większego bezpieczeństwa smile.gif


--------------------
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 Wersja Lo-Fi Aktualny czas: 5.07.2025 - 03:50