Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> problem z password
hmmm
post
Post #1





Grupa: Zarejestrowani
Postów: 247
Pomógł: 0
Dołączył: 4.01.2005

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


utworzylem sobie w bazie tabele, ktora nazwalem 'admin'.
kolumna, w ktorej przechowuje haslo ma nazwe 'wartosc' i jest typu varchar(30).
wprowadzajac do niej haslo skorzystalem z funkcji password().
niby wartosc zostala wprowadzona, bo wyswietlilo mi:
Cytat
Query OK, 1 row affected, 1 warning
jednak skad ten warning?

problem pojawia sie przy probie porownania wartosci w celu zalogowania.
haslo przepuszczam przez funckje password() i porownuje z tym z bazy, jednak mimo iz wpisze to samo, wyswietla mi, ze haslo jest nieprawidlowe.

domyslam sie, ze to przez ten warning podczas wprowadzania danych do tabeli (IMG:http://forum.php.pl/style_emoticons/default/dry.gif)

bede wdzieczny za pomoc.
Go to the top of the page
+Quote Post
nospor
post
Post #2





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




Manual:
Cytat
Note: The PASSWORD() function is used by the authentication system in MySQL Server, you should not use it in your own applications. For that purpose, use MD5() or SHA1() instead. Also see RFC 2195 for more information about handling passwords and authentication securely in your application
Nie zaleca się stosowania password, użyj lepiej md5()
Go to the top of the page
+Quote Post
hmmm
post
Post #3





Grupa: Zarejestrowani
Postów: 247
Pomógł: 0
Dołączył: 4.01.2005

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


zrobilem, jak piszesz, ale dalej nie dziala (IMG:http://forum.php.pl/style_emoticons/default/dry.gif)
nie qmam dlaczego w dalszym ciagu w wierszu polecen, jak poprzez update wpisuje nowe haslo wykorzystujac md5, to wykonuje, ale z bledem.
  1. UPDATE admin SET wartosc=md5('haslo') WHERE id=1;
i wyswietla mi wowczas
Cytat
Query OK, 1 row affected, 1 warning (0.02 sec)
Rows matched: 1  Changed: 1  Warnings: 1
dlaczego?
tworzac tabele kolumne okreslilem jako varchar(30) i nut null.

natomiast tak wyglada skrypt sprawdzajacy dane wysylane z formularza:
  1. <?php
  2. // ustawiam wartosc zmiennej $uwaga
  3. // ma ona za zadanie ostrzegac o bledach
  4. $uwagi = NULL;
  5.  
  6. // przypisuje wartosc przeslanego hasla zmiennej $haslo
  7. $haslo = $_POST['haslo'];
  8.  
  9. // wczytuje plik
  10. // i lacze sie z baza danych
  11. include('inc/polacz.inc');
  12. $db = mysql_connect($host, $user, $pass);
  13. mysql_select_db($name, $db);
  14.  
  15. $polecenie1 = &#092;"SELECT id FROM admin WHERE id=1 AND wartosc=md5('\" . $haslo . \"')\";
  16. $wynik1 = mysql_query($polecenie1);
  17. $wynik2 = mysql_num_rows($wynik1);
  18. // sprawdzam poprawnosc wprowadzonego hasla
  19. // wykonuje dla prawidlowego hasla
  20. if ($wynik2 == 1) {
  21. // zmieniam wartosc pola
  22. $polecenie2 = mysql_query(&#092;"UPDATE admin SET wartosc=1 WHERE id=2\");
  23. header (&#092;"Location: index.php?strona=6\");
  24. exit();
  25. // sprawdzam poprawnosc wprowadzonego hasla
  26. // wykonuje dla nieprawidlowego hasla
  27. } else {
  28. $uwagi .= 'podales nieprawidlowe haslo.' . &#092;"n\";
  29. }
  30.  
  31. ?>
tylko potem zamiast nadpisywania wartosci w tabeli admin bede tworzyl sesje, ale to teraz nie ma znaczenia (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

edit
zapomnialem dodac, ze bez md5 wszystko dziala jak powinno (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif)

Ten post edytował hmmm 29.07.2005, 19:18:45
Go to the top of the page
+Quote Post
FiDO
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


Po wykonaniu zapytania z warningiem wykonaj jeszcze SHOW WARNINGS, powinno Ci podac dokladniejszy opis problemu. Wklej go tutaj.
Go to the top of the page
+Quote Post
hmmm
post
Post #5





Grupa: Zarejestrowani
Postów: 247
Pomógł: 0
Dołączył: 4.01.2005

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


Cytat
Level        | Code    |Message
----------------------------------------------------------------------------
Warning    | 1265    | Data truncated for column 'wartosc' at row 1
i nie mam pojecia, co to znaczy (IMG:http://forum.php.pl/style_emoticons/default/dry.gif)
Go to the top of the page
+Quote Post
FiDO
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


No to wszystko jasne.. hash md5 zajmuje 32 znaki, a Ty masz to pole dlugosci 30 znakow, dlatego jest warning, ze pozostale znaki zostaly obciete. Zwieksz dlugosc pola i bedzie ok.
Go to the top of the page
+Quote Post
hmmm
post
Post #7





Grupa: Zarejestrowani
Postów: 247
Pomógł: 0
Dołączył: 4.01.2005

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


dzieki bardzo (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) dziala (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post

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: 23.08.2025 - 05:14