Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [wolontariat]Przypominanie Hasła.
JacobGames26
post
Post #1





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 12.10.2013

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


Wiam. Chciałbym propsić kogoś aby zrobił skrypt php opierający się na tym kodzie.

  1. <?php
  2.  
  3.  
  4. class user {
  5.  
  6. public static $user = array();
  7.  
  8. /**
  9.   * Zwraca tablicę ze wszystkimi danymi o użytkowniku.
  10.   * Indeksy tablicy odpowiadają nazwom pól w bazie danych (login, pass etc...)
  11.   * @param string $login
  12.   * @param string $pass
  13.   * @return array
  14.   */
  15. public function getData ($login, $pass) {
  16. if ($login == '') $login = $_SESSION['login'];
  17. if ($pass == '') $pass = $_SESSION['pass'];
  18.  
  19. self::$user = mysql_fetch_array(mysql_query("SELECT * FROM users WHERE login='$login' AND pass='$pass' LIMIT 1;"));
  20. return self::$user;
  21. }
  22.  
  23.  
  24. /**
  25.   * Zwraca tablicę ze wszystkimi danymi o użytkowniku, tak jak powyższa metoda klasy,
  26.   * ale rozpoznaje użytkownika nie po podaniu loginu i hasła tylko po podaniu ID.
  27.   * Używana np. do wyświetlania strony profilu.
  28.   * @param int $id
  29.   * @return array
  30.   */
  31. public function getDataById ($id) {
  32. $user = mysql_fetch_array(mysql_query("SELECT * FROM users WHERE id='$id' LIMIT 1;"));
  33. return $user;
  34. }
  35.  
  36. /**
  37.   * Jeśli użytkownik jest zalogowany - zwraca true, w przeciwnym wypadku - false
  38.   * @return bool
  39.   */
  40. public function isLogged () {
  41. if (empty($_SESSION['login']) || empty($_SESSION['pass'])) {
  42. return false;
  43. }
  44.  
  45. else {
  46. return true;
  47. }
  48. }
  49.  
  50. /**
  51.   * "Soli" hasło przed jego zahashowaniem funkcją md5()
  52.   * @param string $pass
  53.   * @return string
  54.   */
  55. public function passSalter ($pass) {
  56. $pass = '$@@#$#@$'.$pass.'q2#$3$%##@';
  57. return md5($pass);
  58. }
  59.  
  60. }


Owy skrypt ma przypominać hasło i wysyłać je na emaila podawanego przy rejestracji ; )
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
JacobGames26
post
Post #2





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 12.10.2013

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


No to Dorać mi jak takie coś zrobić. Bo ja sie zabardzo na tym nie znać. A płacić nie bede bo po co? ...
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #3





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Cytat(JacobGames26 @ 23.10.2013, 17:02:13 ) *
No to Dorać mi jak takie coś zrobić. Bo ja sie zabardzo na tym nie znać. A płacić nie bede bo po co? ...


No nie wiem, zazwyczaj się płaci, by otrzymać towar z gwarancją jakości, a jej poziom jest uzależniony od ceny (choć nie zawsze). Nie mniej jednak programista też chce zarobić, a nie działać charytatywnie.

Co do porady - do wysyłania maili służy funkcja mail, jak na przypomnienia hasła nada się w sam raz. Jak z niej skorzystać możesz doczytać w manualu.
Ale pierwsza rzecz jaką musisz wykonać to oczywiście zapytanie do bazy, czy podany mail istnieje, następnie wygenerować nowe hasło (stare jest zasolone i zahashowane, nie ma sposobu by je odzyskać) dla konta, do którego przypisany jest mail, zapisać nowe hasło w bazie i przesłać je użytkownikowi. Dobrze by też było zablokować możliwość wysyłania w kółko nowych haseł, gdy poprzednio wysłane nie zostało jeszcze wykorzystane (ktoś może dla żartu lub złośliwie spamować komuś skrzynkę, jeśli zna jego mail). To pokrótce byłoby na tyle.
Go to the top of the page
+Quote Post

Posty w temacie
- JacobGames26   [wolontariat]Przypominanie Hasła.   23.10.2013, 14:44:02
- - Turson   CytatWiam. Chciałbym propsić kogoś aby zrobił skry...   23.10.2013, 15:10:57
- - pyro   (Nie)przenoszę do odpowiedniego działu.   23.10.2013, 15:11:23
- - JacobGames26   Dobra . Może ktoś zrobić przypominanie hasła na ow...   23.10.2013, 15:47:25
- - usb2.0   CytatOwy skrypt ma przypominać hasło i wysyłać je ...   23.10.2013, 15:52:56
- - JacobGames26   Chciałem być uprzejmy tak? A nie powiedzieć jak Tu...   23.10.2013, 15:56:33
|- - b4rt3kk   Cytat(JacobGames26 @ 23.10.2013, 16:56...   23.10.2013, 16:00:50
- - JacobGames26   No to Dorać mi jak takie coś zrobić. Bo ja sie zab...   23.10.2013, 16:02:13
|- - b4rt3kk   Cytat(JacobGames26 @ 23.10.2013, 17:02...   23.10.2013, 16:58:31
|- - JacobGames26   Cytat(b4rt3kk @ 23.10.2013, 17:58:31 ...   23.10.2013, 19:58:45
|- - pedro84   Cytat(JacobGames26 @ 23.10.2013, 20:58...   23.10.2013, 20:09:45
- - JacobGames26   Czyli tak jak sie spodziewałem . Bedzie tekst ...   23.10.2013, 20:14:57
- - pedro84   Cytat(JacobGames26 @ 23.10.2013, 21:14...   23.10.2013, 20:17:44
- - JacobGames26   Cytat(pedro84 @ 23.10.2013, 21:17:44 ...   23.10.2013, 20:20:14
- - pedro84   Cytat(JacobGames26 @ 23.10.2013, 21:20...   23.10.2013, 20:22:42
- - patrysiek2   Cytat(JacobGames26 @ 23.10.2013, 21:20...   24.10.2013, 14:49:05
- - pedro84   Cytat(patrysiek2 @ 24.10.2013, 15:49...   24.10.2013, 14:56:22
- - patrysiek2   Cytat(pedro84 @ 24.10.2013, 15:56:22 ...   24.10.2013, 17:19:15
- - pedro84   Cytat(patrysiek2 @ 24.10.2013, 18:19...   24.10.2013, 17:22:53


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: 27.12.2025 - 21:38