Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] rozbierznosci prz kodowaniu sha1
--kalis--
post
Post #1





Goście







Witam

Dodaje do bazy danych za pomoca :

$login=$ag_login;
$pass=trim(strip_tags(mysql_real_escape_string(HTMLSpecialChars($ag_pass2))));
$pass=sha1($pass);
$zapytanie=mysql_query("INSERT INTO users (u_login,u_pass,u_name,u_lic) VALUES ('$login','$pass','$ag_name','$ag_lic')");




a jak sie loguje na stronie :
#--pobranie danych dotyczących logowania
$login = $_POST['u'];
$pass = $_POST['p'];
echo $login;
echo $pass;
#--sprawdzenie czy wsyzstkie dane są wpisane
if(empty($login) || empty($pass))
{
$txt.="<tr><td>";
$txt.=__('blad_brakdanych');
$txt.="</td></tr>";
}
else
{
#--kodowanie hasła
//$login = trim(strip_tags(mysql_real_escape_string(HTMLSpecialChars($login))));
$pass = trim(strip_tags(mysql_real_escape_string(HTMLSpecialChars($pass))));
$pass = sha1($pass);

require("!konfiguracja/bd.php");
$logowanie=mysql_query("SELECT u_id FROM users WHERE u_login='$login' AND u_pass='$pass'");
if(mysql_num_rows($logowanie)==0)
{
$txt.="<tr><td>";
$txt.=__('login_blad2');
$txt.=$login;
$txt.=$pass;
$txt.="</td></tr>";
}
else
{
$row = mysql_fetch_array($logowanie);
$_SESSION['login'] = "zalogowany";
$_SESSION['id'] = $row['u_id'];
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
header("Location:administrator.php");

//test ang
// $_SESSION['site_lang'] ='en';
}

}


i jak podam haslo do jest inne po zakodowaniu .... co jest tego powodem
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Powinno działać, w jakim polu (typ) trzymasz hasło?

Poza tym odpuść sobie tych wszystkich operacji na haśle skoro i tak wysyłasz do bazy skrót (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
--kalis--
post
Post #3





Goście







pole ma varchar(64)

a co masz na mysli mowiac skrót?
Go to the top of the page
+Quote Post
Fifi209
post
Post #4





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Czytałeś definicje funkcji takich jak md5 czy sha1?

http://pl.wikipedia.org/wiki/MD5
Go to the top of the page
+Quote Post
--kalis--
post
Post #5





Goście







czytalem ... to jaki ustaic typ dla pola password??
Go to the top of the page
+Quote Post
Fifi209
post
Post #6





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Sprawdź jak długi ciąg dostaniesz z funkcji sha1 lub md5 i użyj pola char o odpowiedniej długości
Go to the top of the page
+Quote Post
--kalis--
post
Post #7





Goście







to chyba nie jest wina typu bo

przy tworzeniu usera haslo ma taka sama wartosc po zakodowaniu jak dodaje sie bazie

natomast przy logowaniu po zakodowaniu haslo jest calkiem inne.
Go to the top of the page
+Quote Post
Fifi209
post
Post #8





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Nie masz session_start może?

Wyświetl sobie te zmienne i porównaj.

A o typ pytałem, bo może jest zbyt krótkie pole i ucina?

i używaj tagów php.
Go to the top of the page
+Quote Post
--kalis--
post
Post #9





Goście







cały kod :

  1. <?php
  2. ini_set('display_errors','0');
  3.  
  4. if (!isset($_SESSION['inicjuj']))
  5. {
  6. $_SESSION['inicjuj'] = true;
  7. $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
  8.  
  9. }
  10. if($_SESSION['ip'] != $_SERVER['REMOTE_ADDR'])
  11. {
  12. die();
  13. }
  14.  
  15.  
  16. require_once('langs/lang.class.php');
  17. ?>
  18. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  19. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  20. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  21. <head>
  22. <title></title>
  23. <meta http-equiv="content-type" content="text/html; charset=ISO-8859-2" />
  24. <link rel="stylesheet" type="text/css" href="style/style.css">
  25. <META NAME="Keywords" CONTENT="">
  26. </head>
  27.  
  28. <body leftmargin="0" topmargin="0">
  29. <?php
  30. $txt='';
  31. if ($_SESSION['login'] == "zalogowany")
  32. {
  33. header("Location:index.php");
  34. }
  35. else
  36. {
  37. $txt.="<FORM action=\"login.php\" method=\"POST\">";
  38. $txt.="<TABLE align=\"center\" bgcolor=\"#fffaaa\" border=\"0\" width=\"350px\" CELLPADDING=\"2\" CELLSPACING=\"2\">";
  39. $txt.="<TR>
  40. <TD>
  41. <h2>". __('login_nazwa')."</h2>
  42. ".__('login_login')."<br />
  43. <input type=\"textbox\" name=\"u\" size=\"15\">
  44. </TD>
  45. </TR>
  46. <TR>
  47. <TD>".__('login_pass')."<br />
  48. <input type=\"password\" name=\"p\" size=\"15\">
  49. <input type=\"hidden\" name=\"log\">
  50. </TD>
  51. </TR>
  52. <TR>
  53. <TD>
  54. <br />
  55. <input class=\"wyslij_formularz\" align=\"center\" type=\"submit\" name=\"submit\" value=\"".__('login_zaloguj')."\">
  56. </TD>
  57. </form>";
  58.  
  59. if (isset($_POST['log']))
  60. {
  61. #--pobranie danych dotyczących logowania
  62. $login = $_POST['u'];
  63. $pass_post = $_POST['p'];
  64. echo $login;
  65. echo $pass_post;
  66. #--sprawdzenie czy wsyzstkie dane są wpisane
  67. if(empty($login) || empty($pass))
  68. {
  69. $txt.="<tr><td>";
  70. $txt.=__('blad_brakdanych');
  71. $txt.="</td></tr>";
  72. }
  73. else
  74. {
  75. #--kodowanie hasła
  76. //$login = trim(strip_tags(mysql_real_escape_string(HTMLSpecialChars($login))));
  77. echo $password;
  78. $pass = sha1($password);
  79.  
  80. require("!konfiguracja/bd.php");
  81. $logowanie=mysql_query("SELECT u_id FROM users WHERE u_login='$login' AND u_pass='$pass'");
  82. if(mysql_num_rows($logowanie)==0)
  83. {
  84. $txt.="<tr><td>";
  85. $txt.=__('login_blad2');
  86. $txt.=$login;
  87. $txt.=$pass;
  88. $txt.="</td></tr>";
  89. }
  90. else
  91. {
  92. echo "zalogowany";
  93. $row = mysql_fetch_array($logowanie);
  94. $_SESSION['login'] = "zalogowany";
  95. $_SESSION['id'] = $row['u_id'];
  96. $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
  97. $_SESSION['site_lang'] ='pl';
  98. //header("Location:administrator.php");
  99.  
  100.  
  101. }
  102.  
  103. }
  104. }
  105. $txt.="</table>";
  106. echo $txt;
  107. }
  108. ?>


i z tego widze iż zmienna $past_post ma wartość z forularza ale już $password jest puste nie ma nic ... gdzie tu jest błąd
Go to the top of the page
+Quote Post
--kalis--
post
Post #10





Goście







czy ktos ma pomysl o co tu moze chodzic (IMG:style_emoticons/default/questionmark.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: 26.09.2025 - 04:28