Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pomocy z ciastkiem, proste logowanie prblem z cookies
ahryciuk
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 7.07.2004

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


Witam chodzi o pomoc w podlaczeniu Ciastek do skryptu logowania, ponizej zamieszczony jest fragment kodu, i problem polega na tym, iz pobierane dane z ciastek nie zgadzaja się z danymi jakie powinne zostać wprowadzone, jest to skrypt logowania login i hasło kodowane na md5, moze mi ktos wytłumaczyć i poradzic gdzie tkwi problem ? Bede wdzieczny, pozdrawiam

  1. <?php
  2. $_CONFIG['kxc'] = "a523d703f908dd69e02db64ec35d07315f4c49ab3cacad14a97304b02f2fbb09";
  3.  
  4. $_CONFIG['MySQL']['host'] = "localhost";
  5. $_CONFIG['MySQL']['user'] = "admin";
  6. $_CONFIG['MySQL']['pass'] = "";
  7. $_CONFIG['MySQL']['base'] = "logowanie";
  8.  
  9. if(!isset($_SESSION['sesja'])) {
  10.  $_SESSION['sesja'] = '';
  11. }
  12.  
  13. @mysql_connect($_CONFIG['MySQL']['host'], $_CONFIG['MySQL']['user'], $_CONFIG['MySQL']['pass']) or die('');
  14.  
  15. @mysql_select_db($_CONFIG['MySQL']['base']) or die('');
  16.  
  17. function login() {
  18.  
  19. global $_CONFIG;
  20. $zalogowany = false;
  21.  
  22. //odczyt danych z ciastka
  23.  
  24. if(isset($_COOKIE['dane'])) {
  25. $dane = $_COOKIE['dane']^$_CONFIG['kxc'];
  26. $login = substr($dane, 0, 32);
  27. $haslo = substr($dane, -32);
  28. $metod = "cookies";
  29. }
  30. elseif(isset($_SESSION['login']) AND isset($_SESSION['haslo'])) {
  31. $login = $_SESSION['login'];
  32. $haslo = $_SESSION['haslo'];
  33. $metod = "session";
  34. }
  35. elseif(isset($_POST['login']) AND isset($_POST['haslo'])) {
  36. $login = md5(strtolower($_POST['login']));
  37. $haslo = md5($_POST['haslo']);
  38. $metod = "post";
  39. }
  40.  
  41. if(isset($metod)) {
  42. $query = mysql_query("SELECT * FROM `users` WHERE `user`='".$login."' AND `pass`='".$haslo."';");
  43.  
  44.  if(mysql_num_rows($query) == 1) {
  45. $zalogowany = true; 
  46.  
  47. if($metod <> "session") {
  48. $wiersz = mysql_fetch_array($query);
  49. $_SESSION['login'] = $wiersz['user'];
  50. $_SESSION['haslo'] = $wiersz['pass'];
  51. $_SESSION['nick'] = $wiersz['nick'];
  52.  
  53.  if($metod == "post" AND isset($_POST['pamietaj']) AND $_POST['pamietaj'] == "ok") {
  54.  $dane = ($login.$haslo)^$_CONFIG['kxc'];
  55.  
  56. //wysyłamy cistko z danymi
  57.  setcookie ('dane', $dane,time()+3600*24*365);
  58.  }
  59. }
  60.  }
  61. }
  62. return $zalogowany;
  63. }
  64.  
  65. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
carbolymer
post
Post #2





Grupa: Zarejestrowani
Postów: 102
Pomógł: 12
Dołączył: 27.01.2007
Skąd: north              Poziom: 158                     Tytuł: Miszcz

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


Chodzi tylko o ciastka (sesja ci dobrze działa?)?
Sprawdzałeś czy połączenie z bazą jest nawiązywane i czy select zwraca odpowiednie dane? (używanie or die(''); nie jest dobre - powinna zostać wyświetlana wiadomość przy błędzie)

Mechanizm szyfrowania różnicą symetryczną działa bez zarzutu. Sprawdzałeś pod innymi przeglądarkami? Niektóre przegladarki blokują cookies.
Go to the top of the page
+Quote Post
ahryciuk
post
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 7.07.2004

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


no wlasnie logowanie działa bez zarzutu ale przy wykorzystaniu tylko sesji jak doloze zapamietywanie do ciastek wtedy dane sa błędnie wczytywane, tylko nie moge dojsc gdzie tkwi problem
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: 25.08.2025 - 01:38