Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> md5() - dodaje cos od siebie ;(
jaql
post 18.02.2005, 17:11:56
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 17.02.2005

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


Z gory sorrki za lamerskie pytanko ale naprawde nie mam juz sily - stawiam pierwsze kroki w php mam nadzieje ze mi pomozecie .....
...
Mam problem - odnosnie funkcji md5() - uzylem jej w skrypcie logowania ktory sprawdzalem chyba z 10 razy i gdy na pierwszy rzut oka wszystko dziala zero bledow to jest problem. Przy podawaniu prawidlowego hasla i loginu logowanie zawsze jest nieudane (tak jakby haslo roznilo sie od tego w bazie).

Rozlozylem wiec skrypt na czesci pierwsze i moja uwage przykula pewna rzecz odnosnie funckji md5().

Abstrachujac juz od samego skryptu logowania chcialbym sie podzielic tym co zauwazylem odnosnie funkcji md5() co moze miec wplyw na jego negatywne dzialanie; - nie wiem moze to jest normalne ale ja tego nie rozumiem.

Powiedzmy ze przykladowo mamy

Plik 4.html

<html>
<form method=post action=5.php>
<input type=password name=haslo>
<input type=submit>
</form>
</html>

i plik

5.php

<?
$md5 = md5('$haslo');
echo $md5;
?>


Efektem tego formularza jest wyswietlenie hasla w formie zaszyfrowanej
- to pozwala jednak podejrzec ze zwracane haslo to ciag znakow ze spacja na koncu. Podczas wprowadzania hasla do bazy po przez md5() haslo jest wprowadzane w formie zaszyfrowanej ale juz bez tej spacji na koncu.

Czemu tak sie dzieje , skad roznica skad ta spacja - przez nia te dwa hasla - to ktore jest wpisywane przez formularz i to ktore znajdue sie w bazie nie sa takie sam i podczas porownywania w skrypcie autoryzacji lgowanie jest nieudane.
Wszystko inne juz sprawdzalem ewidentnie problem tkwi w tej niechcianej spacji.
Co lepsze uzywalem funkcji trim() np trim($md5) i tez nic ..spacja sie pojawia.
NIe rozumiem .

Z gory dzieki pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
bela
post 18.02.2005, 17:16:24
Post #2


Administrator PHPedia.pl


Grupa: Developerzy
Postów: 1 102
Pomógł: 2
Dołączył: 14.09.2003

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


  1. <?php
  2. $md5 = md5($haslo);
  3. echo $md5;
  4. ?>


zrob tak winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
Kuziu
post 18.02.2005, 19:50:46
Post #3





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

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


Dlaczego ludzie podają argumenty do funkcji w apostrofach questionmark.gif
Ostatnio zauważam to ciągle ...

Po to są przecinki by oddzielić kolejne argumenty ... nie musisz używać ani cudzysłowia ani apostrofu ... a jeśli juz masz yżyć to użyć cudzysłowia ... bo
  1. <?php
  2.  
  3. $f = 'ala';
  4. echo('$f'); // Zwróci >> $f
  5. echo(&#092;"$f\"); // Zwróci >> ala
  6.  
  7. ?>


Jednak najlepiej nie używać ani cudzysłowiów ani apostrofuów.

ps. jeśli nie chcesz żeby wielkość liter w haśle miała znaczenia to dodaj strtolower przed kodowaniem md5()

Ten post edytował Kuziu 18.02.2005, 20:01:21


--------------------
Słońce zachodzi ... kolejna noc nadchodzi ...
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: 14.08.2025 - 02:45