Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [skrypt] Logowanie
Forum PHP.pl > Inne > Oceny
qbejs
Witam exclamation.gif!

Ostatnio pisałem sobie skrypt obsługi logowania. Obsługuje on system rang, domyślnie przyznając każdemu poziom user'a. Potem przez panel administracyjny admin może zmienić rangę użytkownikowi. Zależy mi na waszych sugestiach oraz ewentualnych wskazówkach. W planach mam jeszcze mechanizm zapamiętywania użytkownika za pomocą cookies. Oto kod:

  1. <?
  2. include ('functions.php');
  3. include ('config.inc');
  4. require('sesja.php');
  5.  
  6. db($serwer,$user,$pass,$baza);
  7. if (isset($_POST['loginsend']))
  8. {
  9.  
  10. $login=htmlspecialchars(trim($_POST['login']));
  11. $check_login=mysql_query("SELECT login FROM `user_test` WHERE login='".$login."'");
  12. $login_result=mysql_fetch_array($check_login);
  13. if ($login_result['login'] = 1)
  14. {
  15. $login=htmlspecialchars(trim($_POST['login']));
  16. $pass=md5(md5($_POST['pass']));
  17. $check_user=mysql_query("SELECT count(*) FROM `user_test` WHERE login='".$login."' AND pass='".$pass."';");
  18. $if_ok=mysql_result($check_user, 0);
  19. if ($if_ok == 1)
  20. {
  21. $session_data="SELECT * FROM `user_test` WHERE login='".$login."'";
  22. $result=mysql_fetch_array(mysql_query($session_data));
  23. session_register('login');
  24. $_SESSION['login']=$_POST['login'];
  25. session_register('level');
  26. $_SESSION['level']=$result['level'];
  27. echo 'Zalogowano pomyslnie - nastapi przeladowanie strony...';
  28. $cookie=$_POST['save'];
  29. if ($cookie = 1)
  30. {
  31.  $dane=$login.'|'.$pass;
  32.  setcookie ("dane", $dane,time()+3600*24*365);
  33. }
  34. }
  35. }
  36. else
  37. print "Nie ma takiego użytkonika !";
  38.  
  39.  
  40.  
  41.  
  42.  
  43. }else
  44. include ('login.php');
  45.  
  46. db_close();
  47. ?>
nospor
  1. <?php
  2. $pass=md5(md5($_POST['pass']));
  3. ?>
blink.gif A czemu tak?
qbejs
Tak mi się wydawało dobrze...Lepiej to wrzucić w zapytanie SQL ?
nospor
chodzil mi czemu przepuszczasz to dwa razy przez md5() ?
qbejs
Żeby podwójnie zakodować..tak dla bezpieczeństwa....wiem że MD5 jest bardzo trudny do odkodowania ale md5 chyba nie obciąża serwera więc dlaczego nie ?
qbejs
Zmieniłem kod....mianowicie dodał obsługę zapamiętywanie usera przez cookies....zapraszam do komentowania i ewentualnych komentarzy ze wskazówkami...
acztery
po co dajesz komunikat o poprawnym zalogowaniu nie lepiej odrazu przeladowac header .... np do ustawien konta
nospor
częśc postow zostal rozdzielona i przeniesona do tego tematu:
http://forum.php.pl/index.php?act=ST&f=1&t...t=0#entry236076
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.