Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Skrypt zmiany hasła
Mateostin
post 8.06.2016, 06:34:06
Post #1





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 23.03.2016

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


Witam. kombinuje już od pewnego czasu i nic mi nie wychodzi... potrzebuje skryptu do zmiany hasła. Logowanie zrobiłem za pomocą sesji

na stronie umieszczam
  1. <?php session_start();
  2. require_once('connect.php');
  3. ?>
  4.  
  5. <div class="logowanie">
  6. <?php
  7. if (!isset($_SESSION['auth']))
  8. $_SESSION['auth'] = false;
  9. if ($_SESSION['auth'] == TRUE) {
  10. } else {
  11. echo '<meta http-equiv="refresh" content="1; URL=index.php">';
  12. echo '<p style="padding-top:10px;color:red";><strong>Próba nieautoryzowanego dostępu...</strong><br />trwa przenoszenie...</p>';
  13. }
  14.  
  15. ?></div>


w bazie danych posiadam Kolumny: id_user, login, password

tylko nie wiem jak pobrać id i jak zrobić żeby sprawdziło stare hasło i zaktualizowało. za pomoc byłbym bardzo wdzięczny. z góry dziękuje smile.gif
Go to the top of the page
+Quote Post
viking
post 8.06.2016, 06:39:40
Post #2





Grupa: Zarejestrowani
Postów: 6 376
Pomógł: 1116
Dołączył: 30.08.2006

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


Hasło powinno być zakodowane jednokierunkowo czyli nie powinno być możliwości jego odzyskania. Zatem zmiana hasła sprowadza się do wygenerowania nowego dla danego użytkownika. A skoro masz tylko login i hasło to nie sprawdzisz bez poprawnego zalogowania czy użytkownik ma do zmiany prawo.
1. Jeśli jest zalogowany to tworzysz nowy formularz i później update najlepiej z http://php.net/manual/pl/function.password-hash.php
2. Jeśli nie jest zalogowany to powinien dostać potwierdzenie na maila. Po kliknięciu w link patrz 1.


--------------------
Go to the top of the page
+Quote Post
Mateostin
post 8.06.2016, 07:31:37
Post #3





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 23.03.2016

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


OK, ja chce prosty formularz natomiast jak zrobić żeby sprawdzało mi czy haslo stare jest dobre jezeli tak zeby robilo update i kodowalo md5

Go to the top of the page
+Quote Post
viking
post 8.06.2016, 07:36:51
Post #4





Grupa: Zarejestrowani
Postów: 6 376
Pomógł: 1116
Dołączył: 30.08.2006

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


$_SESSION['auth'] == TRUE oznacza zalogowanego. Robisz mu zatem formularz hasło/powtórz hasło i poźniej
UPDATE users SET password = MD5(?) WHERE id_user = ?


--------------------
Go to the top of the page
+Quote Post
Pyton_000
post 8.06.2016, 07:41:53
Post #5





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Broń Cię panie @viking.

Aby zmienić hasło powinno się podawać stare (mowa o świadomym zmienianiu hasła przy założeniu że pamięta się stare).
Podając stare hasło oraz nowe 2x(potwierdzenie zgodności, czy nie ma literówki itd) szukasz rekordu login == $login && password == $password.
Dopiero jak został znaleziony rekord to zmieniasz.

Nie można polegać na tym że user jest zalogowany, bo to bardzo niebezpieczne.


Odzyskiwanie hasła to inny temat, tam generujesz hash, wysyłasz go na mejla a potem wchodzi na odpowiednią stronę z tym hashem. Jeśli się zgadza to podajesz nowe hasło i zapisujesz w BD.
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: 4.05.2025 - 06:12