Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] rozbierznosci prz kodowaniu sha1
--kalis--
post 23.08.2011, 21:34:05
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
Fifi209
post 23.08.2011, 23:27:26
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 smile.gif


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
--kalis--
post 24.08.2011, 20:39:30
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 24.08.2011, 21:48:20
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


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
--kalis--
post 24.08.2011, 23:12:44
Post #5





Goście







czytalem ... to jaki ustaic typ dla pola password??
Go to the top of the page
+Quote Post
Fifi209
post 25.08.2011, 00:49:51
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


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
--kalis--
post 25.08.2011, 20:42:53
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 25.08.2011, 21:59:11
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.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
--kalis--
post 26.08.2011, 21:42:42
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 12.09.2011, 20:06:43
Post #10





Goście







czy ktos ma pomysl o co tu moze chodzic questionmark.gif
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 - 13:27