Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> Wszystkie hasła md5 tak samo się kodują
Pudi
post
Post #1





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 3.03.2009
Skąd: WLKP

Ostrzeżenie: (10%)
X----


Witam posiadam system rejestracji użytkowników ale niestety coś się zepsuło założyłem 3 konta 1
Pudi hasło sdasdad(przykładowo)
Test1 hasło testy1
Test2 hasło test2
I Tylko hasło w koncie Pudi działa można się logować itp, a w innych kontach jest napisane hasło nieprawidłowe po obejrzeniu phpmyadmin zauważyłem ze wszystkie konta mają tak samo zakodowane hasło jak konto PUDI, Sprawdziłem Konto Test1 i Test2 logowało się po podaniu hasła do konta Pudi i tutaj moje pytanie co robię źle kod pliku register.php
  1. <?php
  2.  
  3. $login = $_POST['login'];
  4. $haslo = $_POST['haslo'];
  5. $haslo2 = $_POST['haslo2'];
  6. $email = $_POST['email'];
  7. $losowe = $_POST['l'];
  8. $data=date('d.m.Y, H:i');
  9. $poziom = 0;
  10.  
  11. if ($_POST){
  12.  
  13. if(!empty($login) AND !empty($haslo) AND !empty($haslo2) AND !empty($email)){
  14.  
  15. if($haslo != $haslo2){
  16.  
  17. $info .= 'podane hasłą są różne<br />';
  18.  
  19. }else{
  20.  
  21. if(!ereg("^.+@.+\..+$", $email)){
  22.  
  23. $info .= 'niepoprawny adres e-mail<br />';
  24.  
  25. }else{
  26.  
  27. require_once('config.php');
  28.  
  29. $login = czysc($login);
  30. $haslo = czysc($haslo);
  31. $haslo2 = czysc($haslo);
  32. $email = czysc($email);
  33.  
  34.  
  35. $query = "SELECT login FROM users WHERE login='$login'";
  36. $result = mysql_query($query);
  37.  
  38. if(@mysql_num_rows($result) > 0){
  39.  
  40. $info .= "wybrana nazwa użytkownika($login) jest już zajęta<br />";
  41.  
  42. }else{
  43.  
  44. $query = "INSERT INTO users (login,haslo,email,data,poziom) VALUES ('$login',md5('$haslo1'),'$email','$data','$poziom')";
  45. mysql_query($query);
  46.  
  47. $info .= 'rejestracja zakończyła się sukcesem<br />';
  48.  
  49. }
  50.  
  51. }
  52.  
  53. }
  54.  
  55. }else{
  56.  
  57. $info .= 'uzupełnij wszystkie pola<br />';
  58.  
  59. }
  60.  
  61. }
  62.  
  63. ?>
  64. <html>
  65. <head>
  66. <meta name="generator" content="WebSite PRO 4.3" />
  67. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />
  68. <title>Rejestracja</title>
  69. </head>
  70. <body>
  71.  
  72. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
  73.  
  74. <table>
  75.  
  76. <tr>
  77. <td>login:</td>
  78. <td><input type='text' name='login'></td>
  79. </tr>
  80.  
  81. <tr>
  82. <td>hasło:</td>
  83. <td><input type='password' name='haslo'></td>
  84. </tr>
  85.  
  86. <tr>
  87. <td>powtórz hasło:</td>
  88. <td><input type='password' name='haslo2'></td>
  89. </tr>
  90.  
  91. <tr>
  92. <td>e-mail:</td>
  93. <td><input type='text' name='email'><input type='hidden' name='control' value='1'></td>
  94. </tr>
  95.  
  96. <tr>
  97. <td><input type='submit' value='zarejestruj'></td>
  98. </tr>
  99.  
  100. <tr>
  101. <td></td>
  102. <td colspan='2'><?php if(!empty($info)){ echo $info; } ?></td>
  103. </tr>
  104.  
  105. </table>
  106.  
  107. </form>
  108.  
  109. </body>
  110. </html>

A tak wyglada baza danych:
(IMG:http://img23.imageshack.us/img23/1995/beztytuuoaz.jpg)


Proszę o pomoc bo kompletnie nie wiem gdzie jest błąd
Go to the top of the page
+Quote Post
lwc
post
Post #2





Grupa: Zarejestrowani
Postów: 69
Pomógł: 11
Dołączył: 5.10.2008
Skąd: Wielkopolska

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


Mniemam, że skrypt traktuje tą zmienną haslo1 jako tekst, bo jest w apostrofach.
Go to the top of the page
+Quote Post
greycoffey
post
Post #3





Grupa: Zarejestrowani
Postów: 320
Pomógł: 29
Dołączył: 3.04.2010

Ostrzeżenie: (20%)
X----


Zmienna $haslo1 nie istnieje, za to istnieją $haslo i $haslo2. Jesli funkcja czysc, to funkcja wyciagnieta z jednego tutka na webhelpie, to lepiej ją zmień, jest niebezpieczna, co tam opisałem.
Go to the top of the page
+Quote Post
Pudi
post
Post #4





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 3.03.2009
Skąd: WLKP

Ostrzeżenie: (10%)
X----


Cytat(lwc @ 7.11.2010, 11:48:06 ) *
Mniemam, że skrypt traktuje tą zmienną haslo1 jako tekst, bo jest w apostrofach.

Po usunięciu nie dodaje nic do bazy ;/

Cytat(greycoffey @ 7.11.2010, 11:59:37 ) *
Zmienna $haslo1 nie istnieje, za to istnieją $haslo i $haslo2. Jesli funkcja czysc, to funkcja wyciagnieta z jednego tutka na webhelpie, to lepiej ją zmień, jest niebezpieczna, co tam opisałem.

Wiem juz porawiłem bo dałem inny plik czysty bez grafiki dlatego ale jest wszystko to samo a tą funkcje czysc poprawiłem na swój własny sposób i na mój użytek starczy (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
greycoffey
post
Post #5





Grupa: Zarejestrowani
Postów: 320
Pomógł: 29
Dołączył: 3.04.2010

Ostrzeżenie: (20%)
X----


Cytat(lwc @ 7.11.2010, 11:48:06 ) *
Mniemam, że skrypt traktuje tą zmienną haslo1 jako tekst, bo jest w apostrofach.


Btw. nie jest w apostrofach, jest w cudzysłowiu.

Cytat(Pudi @ 7.11.2010, 12:02:37 ) *
Wiem juz porawiłem bo dałem inny plik czysty bez grafiki dlatego ale jest wszystko to samo a tą funkcje czysc poprawiłem na swój własny sposób i na mój użytek starczy (IMG:style_emoticons/default/winksmiley.jpg)


Czyli już nie wstawia takich samych wartości? Mógłbyś tą funkcję czysc() załadować na jakąś wklejkę, mam dziś chwilę czasu to mógłbym sprawdzić ją (IMG:style_emoticons/default/winksmiley.jpg)

Ten post edytował greycoffey 7.11.2010, 12:05:48
Go to the top of the page
+Quote Post
markonix
post
Post #6





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


  1. '".md5($haslo1)."'

Nie powinno być tak?
Go to the top of the page
+Quote Post
tehaha
post
Post #7





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


ponadto, żeby funkcja md5 działała to trzeba zrobić wyjście:
  1. $query = "INSERT INTO users (login,haslo,email,data,poziom) VALUES ('$login',".md5("$haslo1").",'$email','$data','$poziom')";
Go to the top of the page
+Quote Post
Pudi
post
Post #8





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 3.03.2009
Skąd: WLKP

Ostrzeżenie: (10%)
X----


Cytat(markonix @ 7.11.2010, 12:03:44 ) *
  1. '".md5($haslo1)."'

Nie powinno być tak?

Zrobiłem tak rejestruje ale nadal to samo hasło takie same jest ;/
Go to the top of the page
+Quote Post
greycoffey
post
Post #9





Grupa: Zarejestrowani
Postów: 320
Pomógł: 29
Dołączył: 3.04.2010

Ostrzeżenie: (20%)
X----


Cytat(markonix @ 7.11.2010, 12:03:44 ) *
  1. '".md5($haslo1)."'

Nie powinno być tak?


W cudzysłowach zmienne są podstawiane! W apostrofach nie! W tym wypadku jest w cudzysłowie!

  1. <?php
  2. $z = 'abc';
  3. echo "$abc";
  4. echo '$abc';
  5. ?>
Go to the top of the page
+Quote Post
tehaha
post
Post #10





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


a skąd w ogóle bierzesz zmienną $hasło1, skoro nie masz jej zdefiniowanej? zamień to na $haslo

Ten post edytował tehaha 7.11.2010, 12:08:37
Go to the top of the page
+Quote Post
wdev
post
Post #11





Grupa: Zarejestrowani
Postów: 86
Pomógł: 20
Dołączył: 20.01.2010

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


Zmienna $haslo1 nie pojawia się wcześniej (nie jest zadeklarowana, masz tylko zmienne $haslo i $haslo2), więc PHP ją traktuje jako wartość null. Jakbyś miał wyświetlanie błędów na poziomie E_NOTICE, to powinno wyświetlić. Pytanie, co z tym Pudim? Masz puste hasło?
Go to the top of the page
+Quote Post
greycoffey
post
Post #12





Grupa: Zarejestrowani
Postów: 320
Pomógł: 29
Dołączył: 3.04.2010

Ostrzeżenie: (20%)
X----


Cytat(tehaha @ 7.11.2010, 12:06:12 ) *
ponadto, żeby funkcja md5 działała to trzeba zrobić wyjście:
  1. $query = "INSERT INTO users (login,haslo,email,data,poziom) VALUES ('$login',".md5("$haslo1").",'$email','$data','$poziom')";


Nie! Funkcja md5 to FUNKCJA SQL!

Do autora: Zmienna $haslo1 nei istnieje! Włacz wyświetlanie błędów typue E_NOTICE.

@up wszyscy co piszą o $haslo1: zostało to już napisane w drugim poście a autor tematu chyba to olał.

Ten post edytował greycoffey 7.11.2010, 12:10:36
Go to the top of the page
+Quote Post
markonix
post
Post #13





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Zakomentuj na razie:
Kod
// mysql_query($query)
;
I zobacz na sucho co zwraca md5('$haslo1') przy różnych hasłach.
Jeśli to samo to szukaj wyżej - poza tym wstaw poprawiony kod z tymi zmiennymi.
Go to the top of the page
+Quote Post
greycoffey
post
Post #14





Grupa: Zarejestrowani
Postów: 320
Pomógł: 29
Dołączył: 3.04.2010

Ostrzeżenie: (20%)
X----


Cytat(markonix @ 7.11.2010, 12:09:42 ) *
Zakomentuj na razie:
Kod
// mysql_query($query)
;
I zobacz na sucho co zwraca md5('$haslo1') przy różnych hasłach.
Jeśli to samo to szukaj wyżej - poza tym wstaw poprawiony kod z tymi zmiennymi.


Problem już rozwiązany - zmienna $haslo1 nie istnieje.
Go to the top of the page
+Quote Post
Pudi
post
Post #15





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 3.03.2009
Skąd: WLKP

Ostrzeżenie: (10%)
X----


sorrka zły kod wkleiłem co zmiena jest haslo1 tak wyglada cały kod:
  1. <?
  2. ?>
  3. <html>
  4. <title>LechPoznanBloogTV - Transmije z Meczów Kolejorza za FREE</title>
  5. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
  6. <head>
  7. <link rel="stylesheet" href="style.css" type="text/css">
  8. </head>
  9. <BODY topmargin="10">
  10.  
  11.  
  12. <table border="0" width="966" height="226" cellpadding="0" cellspacing="0" align="center">
  13. <TR><TD width="966" background="images/logo.png" height="226"></TD></TR></table>
  14. <table border="0" width="996" height="69" cellpadding="0" cellspacing="0" align="center">
  15. <TR><TD width="996" background="images/menu.png" height="69"><ul>
  16. <?php include('include/menugora.php'); ?>
  17. </ul></TD></TR></table>
  18.  
  19.  
  20. <table border="0" width="966" cellpadding="0" cellspacing="0" align="center" background="images/tlosite.png" valign="top">
  21.  
  22. <TR><TD width="204" height="15" valign="top">
  23.  
  24.  
  25. <table width="206" cellpadding="0" cellspacing="0">
  26. <?php include('include/menu.php'); ?>
  27. <?php include('include/menu5.php'); ?>
  28.  
  29. </TD>
  30. <TD width="750" height="15" valign="top">
  31.  
  32. <table width="750" cellpadding="0" cellspacing="0">
  33. <tr><td class="menu2">Rejestracja</td></tr>
  34. <tr><td class="news">
  35. <?php
  36.  
  37. $login = $_POST['login'];
  38. $haslo = $_POST['haslo'];
  39. $haslo2 = $_POST['haslo2'];
  40. $email = $_POST['email'];
  41. $losowe = $_POST['l'];
  42. $data=date('d.m.Y, H:i');
  43. $poziom = 0;
  44.  
  45. if ($_POST){
  46.  
  47. if(!empty($login) AND !empty($haslo) AND !empty($haslo2) AND !empty($email)){
  48.  
  49. if($haslo != $haslo2){
  50.  
  51. $info .= 'podane hasla sa rózne<br />';
  52.  
  53. }else{
  54.  
  55. if(!ereg("^.+@.+\..+$", $email)){
  56.  
  57. $info .= 'niepoprawny adres e-mail<br />';
  58.  
  59. }else{
  60.  
  61. require_once('config.php');
  62.  
  63. $login = czysc($login);
  64. $haslo = czysc($haslo);
  65. $haslo2 = czysc($haslo);
  66. $email = czysc($email);
  67.  
  68.  
  69. $query = "SELECT login FROM users WHERE login='$login'";
  70. $result = mysql_query($query);
  71.  
  72. if(@mysql_num_rows($result) > 0){
  73.  
  74. $info .= "wybrana nazwa uzytkownika($login) jest juz zajeta<br />";
  75.  
  76. }else{
  77.  
  78. $query = "INSERT INTO users (login,haslo,email,data,poziom) VALUES ('$login','".md5($haslo)."','$email','$data','$poziom')";
  79. mysql_query($query);
  80.  
  81. $info .= 'rejestracja zakonczyla sie sukcesem<br />';
  82.  
  83. }
  84.  
  85. }
  86.  
  87. }
  88.  
  89. }else{
  90.  
  91. $info .= 'uzupelnij wszystkie pola<br />';
  92.  
  93. }
  94.  
  95. }
  96.  
  97. ?>
  98. <html>
  99. <head>
  100. <meta name="generator" content="WebSite PRO 4.3" />
  101. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />
  102. <title>Rejestracja</title>
  103. </head>
  104. <body>
  105.  
  106. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
  107.  
  108. <table>
  109.  
  110. <tr>
  111. <td>login:</td>
  112. <td><input type='text' name='login'></td>
  113. </tr>
  114.  
  115. <tr>
  116. <td>haslo:</td>
  117. <td><input type='password' name='haslo'></td>
  118. </tr>
  119.  
  120. <tr>
  121. <td>powtórz haslo:</td>
  122. <td><input type='password' name='haslo2'></td>
  123. </tr>
  124.  
  125. <tr>
  126. <td>e-mail:</td>
  127. <td><input type='text' name='email'><input type='hidden' name='control' value='1'></td>
  128. </tr>
  129.  
  130. <tr>
  131. <td><input type='submit' value='zarejestruj'></td>
  132. </tr>
  133.  
  134. <tr>
  135. <td></td>
  136. <td colspan='2'><?php if(!empty($info)){ echo $info; } ?></td>
  137. </tr>
  138.  
  139. </table>
  140.  
  141. </form>
  142.  
  143. </body>
  144. </html>
  145. <br></td></tr><tr><td class="dol2"></td></tr>
  146. </table>
  147. </TD>
  148.  
  149.  
  150. </TR>
  151. </table>
  152. </div>
  153. <table border="0" width="966" height="60" cellpadding="0" cellspacing="0" align="center">
  154. <TR><TD width="966" background="images/stopka.png" height="60"></TD></TR></table>
  155.  
  156. <Center>by<a href="gg://2812141"> Pudi</a></center>
  157. </body>
  158. </html>

I nadal nie działa sorrka za wklejenie złego kodu pomyliło mi się na ftp (IMG:style_emoticons/default/winksmiley.jpg)

Ten post edytował Pudi 7.11.2010, 12:14:20
Go to the top of the page
+Quote Post
greycoffey
post
Post #16





Grupa: Zarejestrowani
Postów: 320
Pomógł: 29
Dołączył: 3.04.2010

Ostrzeżenie: (20%)
X----


Dodaj na początku:
  1. <?php
  2. ini_set('display_errors','1');
  3. ?>


I pokaz co Ci wypisuje.
Go to the top of the page
+Quote Post
Pudi
post
Post #17





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 3.03.2009
Skąd: WLKP

Ostrzeżenie: (10%)
X----


Cytat(greycoffey @ 7.11.2010, 12:19:19 ) *
Dodaj na początku:
  1. <?php
  2. ini_set('display_errors','1');
  3. ?>


I pokaz co Ci wypisuje.

Przed wpisaniem:
Kod
Notice: Undefined index: login in /home/lechtvfr/domains/lechtv.freecast.pl/public_html/rejestracja.php on line 44

Notice: Undefined index: haslo in /home/lechtvfr/domains/lechtv.freecast.pl/public_html/rejestracja.php on line 45

Notice: Undefined index: haslo2 in /home/lechtvfr/domains/lechtv.freecast.pl/public_html/rejestracja.php on line 46

Notice: Undefined index: email in /home/lechtvfr/domains/lechtv.freecast.pl/public_html/rejestracja.php on line 47

Notice: Undefined index: l in /home/lechtvfr/domains/lechtv.freecast.pl/public_html/rejestracja.php on line 48

Po wypełnieniu:
Kod
Notice: Undefined index: l in /home/lechtvfr/domains/lechtv.freecast.pl/public_html/rejestracja.php on line 48

Notice: Undefined variable: info in /home/lechtvfr/domains/lechtv.freecast.pl/public_html/rejestracja.php on line 88

Go to the top of the page
+Quote Post
greycoffey
post
Post #18





Grupa: Zarejestrowani
Postów: 320
Pomógł: 29
Dołączył: 3.04.2010

Ostrzeżenie: (20%)
X----


Krytycznych błędów tu nie ma, po prostu sprawdzaj (funkcja isset($zmienna)) czy zmienna istnieje zanim przypiszesz ją do innej.
Go to the top of the page
+Quote Post
Pudi
post
Post #19





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 3.03.2009
Skąd: WLKP

Ostrzeżenie: (10%)
X----


Cytat(greycoffey @ 7.11.2010, 12:28:15 ) *
Krytycznych błędów tu nie ma, po prostu sprawdzaj (funkcja isset($zmienna)) czy zmienna istnieje zanim przypiszesz ją do innej.

To co mam zrobić(IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/wstydnis.gif)

  1. if(!isset($login) AND !isset($haslo) AND !isset($haslo2) AND !isset($email)){
  2.  
  3. $login = czysc($login);
  4. $haslo = czysc($haslo);
  5. $haslo2 = czysc($haslo2);
  6. $email = czysc($email);
  7.  
  8.  
  9. $query = "SELECT login FROM users WHERE login='$login'";
  10. $result = mysql_query($query);
  11.  
  12. if(@mysql_num_rows($result) > 0){
  13.  
  14. $info .= "wybrana nazwa użytkownika($login) jest już zajęta<br />";
  15.  
  16. }else{
  17.  
  18. $query = "INSERT INTO users (login,haslo,email,data,poziom) VALUES ('$login',md5('$haslo'),'$email','$data','$poziom')";
  19. mysql_query($query);
  20.  
  21. $info .= 'rejestracja zakończyła się sukcesem<br />';

przerobiłem tak jak powiedziales ale teraz nic się nie dzieje zero reakcji ;(
Go to the top of the page
+Quote Post
ciekawskiii
post
Post #20





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

Ostrzeżenie: (30%)
XX---


dziwny problem, w kodzie wszystko wyglada ok, wywal md5 i sprawdz czy zapisuje te same hasla
Go to the top of the page
+Quote Post
greycoffey
post
Post #21





Grupa: Zarejestrowani
Postów: 320
Pomógł: 29
Dołączył: 3.04.2010

Ostrzeżenie: (20%)
X----


Cytat(Pudi @ 7.11.2010, 13:00:38 ) *
To co mam zrobić(IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/wstydnis.gif)

  1. if(!isset($login) AND !isset($haslo) AND !isset($haslo2) AND !isset($email)){
  2.  
  3. $login = czysc($login);
  4. $haslo = czysc($haslo);
  5. $haslo2 = czysc($haslo2);
  6. $email = czysc($email);
  7.  
  8.  
  9. $query = "SELECT login FROM users WHERE login='$login'";
  10. $result = mysql_query($query);
  11.  
  12. if(@mysql_num_rows($result) > 0){
  13.  
  14. $info .= "wybrana nazwa użytkownika($login) jest już zajęta<br />";
  15.  
  16. }else{
  17.  
  18. $query = "INSERT INTO users (login,haslo,email,data,poziom) VALUES ('$login',md5('$haslo'),'$email','$data','$poziom')";
  19. mysql_query($query);
  20.  
  21. $info .= 'rejestracja zakończyła się sukcesem<br />';

przerobiłem tak jak powiedziales ale teraz nic się nie dzieje zero reakcji ;(


isset() to funkcja sprawdzająca czy zmienna ISTNIEJE, ty dałeś przed tym ! więc sprawdza Ci czy zmienna nie istnieje.
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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 - 14:09