Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z kodowaniem md5
Forum PHP.pl > Forum > PHP
adeq_PL
Witam wszystkich serdecznie!!

Pisze skrypt logowania dla znajomego i mam problem z kodowaniem md5.

A oto i skrypt:

  1. <?php 
  2.  
  3. if(!isset($_SESSION['logowanie'])) { 
  4. $_SESSION['logowanie'] = ''; 
  5. } 
  6.  
  7.  
  8. // laczymy sie z baza 
  9. $connect = mysql_connect('localhost', 'adeqpl', 'haslo'); 
  10. $select  = mysql_select_db('adeqpl'); 
  11.  
  12. // sprawdzamy czy dany user 
  13. // istnieje w bazie 
  14.  
  15. if(isset($_POST['name']) AND isset($_POST['pass'])) {
  16.  
  17. $login = strtolower($_POST['name']); 
  18. $passwd = md5($_POST['pass']); 
  19.  
  20.  
  21.  $dane = mysql_query("SELECT login,password FROM `admin` WHERE `login`='".$login."' AND `password`='".$passwd."';");
  22.  
  23.     
  24.     
  25.     if(mysql_num_rows($dane) == true) {
  26.  
  27.         $_SESSION['logowanie'] = 'ok';
  28.     }
  29.  
  30.         else {
  31.         $_SESSION['logowanie'] = 'Błędny login lub hasło!';
  32.  
  33.     }
  34.     
  35.     unset($_POST['name']); 
  36.                        
  37.                         
  38. }
  39.     
  40.     
  41.   if($_SESSION['logowanie'] == 'ok') {
  42.  
  43.         echo 'witaj';
  44.  
  45.   }
  46.  
  47.    else {
  48.  
  49.    echo '<form method="post" action="logowanie.php"> 
  50.    <input type="text" name="name" /> 
  51.    <input type="password" name="pass" /> 
  52.    <input type="submit" /> 
  53.    </form>';
  54.  
  55.  
  56.    }
  57.  
  58.  
  59.  
  60. ?> 


gdy odpalam skrypt z powyzszego kodu to sesja sie nie uruchamia...

pomocy smile.gif
mike
1. Skoro masz problem z md5 to po co nam pokazujesz kod, w którym go nie stosujesz? Co my jesteśmy? Wróżki, żeby domyśleć się co robisz źle? laugh.gif
2. md5 to nie jest algorytm kodowania! Jest to algorytm haszujący, mieszający inaczej mówiąc.
3. Po co login haszujesz za pomocą md5?
4. Popraw posta usuwając bbCode z kodu php. To nie działa, jak zresztą widać.
adeq_PL
sorki poprawilem...

czy tak moze byc??

pomoze mi ktos?
mike
  1. <?php
  2.  
  3. if(!isset($_SESSION['logowanie'])) { 
  4. $_SESSION['logowanie'] = ''; 
  5. } 
  6.  
  7. ?>

W tym fragmencie masz błąd.

Sesję powinieneś startować zawsze. Niezależnie od wartości $_SESSION['logowanie']. Tym bardziej że bez tego nie jesteś w stanie poznać wartości tej zmiennej.
adeq_PL
oki zmienilem to tak:

  1. <?php
  2.  
  3.  
  4. ?>


i reszta kodu bez zmian, ale nadal nie wiem co z tym md5 ...

moglbys mi podac jakis link gdzie moglbym dokladnie dowiedziec sie o co w tym gra?? bo do tej pory trafiam na same posty z wyrwanymi z kontekstu fragmentami kodu a ja chce sie dowiedziec doglebnie o co tu chodzi...
nospor
Cytat
gdy odpalam skrypt z powyzszego kodu to sesja sie nie uruchamia..
Na jakiej podstawe twierdzisz, ze sesja ci nie dziala? Bo niby przed md5 dzialala, a teraz nie dziala. jakie sa tego objawy?
adeq_PL
kiedy stosuje md5 nie zostaje przepuszczony do tego momentu:

  1. <?php
  2.  
  3. if($_SESSION['logowanie'] == 'ok') {
  4.  
  5. echo 'witaj';
  6.  
  7. }
  8.  
  9. ?>


tylko nadal wyswietla sie formularz logowania...
nospor
bo zapewne w bazie masz hasla zapisane w postaci jawnej winksmiley.jpg Pisaleś ze niedawno dodales md5, ale w bazie pewnie hasla zostaly stare smile.gif
adeq_PL
no tak w bazie nic nie zmienialem.

czy moglbys mi napisac w jaki sposob moge zhashowac hasla w bazie?

sorki za to pytanie bo pewno jest banalne, ale nie mialem wczesniej do czynienia z md5....
nospor
  1. UPDATE admin SET password=md5(password)

i wykonaj to tylko raz winksmiley.jpg
adeq_PL
wielkie dzieki nospor

skrypt dziala tak jak powinien!!!

i w koncu zrozumialem o co chodzi z md5...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.