Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt logowania w PHP & MySQL
Forum PHP.pl > Forum > PHP
[PL]Neon
Postanowiłem napisać skrypt logowania w php & MySQL na miarę moich możliwości i nawet całkiem nieźle mi to idzie smile.gif
Ale podczas rozpędzania mojego mózgu do 200 pomysłów/h mój mózg padł, gdyż nie mógł wymyśleć rozwiązań na pewne zagadnienia...

Otóż chcę rozszerzyć mój skrypt o takie rzeczy jak
'zapomniałem hasła' oraz 'automatyczne logowanie'.

No i tutaj pupa... sadsmiley02.gif

Co do pierwszego to chcę, aby mój skrypt wygenerował hasło składające się z 10 liter i wysłał je na e-maila usera, lecz poprzednio muszą być podane takie dane jak Nick i E-mail - to umiem...
Ale chcę, aby do usera przyszedł e-majl na uprzednio dobrze podany mejl i nick, w którym jest nowe hasło i specjalnie wygenerowany link, którym user musi wpierw 'aktywować' swe nowe hasło (bezpieczeństwo) :: coś via phpBB :: - i tego już nie umiem sad.gif ... jak to zrobić questionmark.gif jak wygenerować link questionmark.gif i jak wraz z aktywacją ustawić nowe hasło questionmark.gif

Druga sprawa (automatyczne logowanie) - myślalem nad tym i najprostrzym rozwiązaniem jest chyba tworzyć ciacho (?)... ale czekam na wasze pomysły

Z góry dziękuje za wszelką pomoc
i oczekuje rzetelnej pomocy cool.gif
Wave
1. Zrób tak. User klika na zapomnialem hasla pokazuje mu sie pole do wpisania maila, szukasz czy taki mail istnieje w bazie i wysylasz na niego haslo. Drugie rozwiazanie zeby user wpisal nazwe uzytkownika po czym pobierasz z bazy maila i rowniez wysylasz haslo. To jest o wiele prostrze.

2. Ciacho szyfrowane md5
[PL]Neon
1. Tak Wave, tylko czy aby byle hack04ek albo idiota nie będzie specjalnie zmieniał innym użytkownikom hasła questionmark.gif Bo takie rozwiązanie to zawsze jest jak pisałem...

2. Hmm ? Proszę deko jaśniej
nospor
sorki ze się wtrącam:
Cytat
Tak Wave, tylko czy aby byle hack04ek albo idiota nie będzie specjalnie zmieniał innym użytkownikom hasła questionmark.gif Bo takie rozwiązanie to zawsze jest jak pisałem...
ale nowe haslo wysylasz na mail użytkownika, a haslo możesz dopiero zmienić gdy ten użytkownik kliknie na linka który mu podales
[PL]Neon
Cytat(nospor @ 2005-05-23 17:22:17)
sorki ze się wtrącam:
Cytat
Tak Wave, tylko czy aby byle hack04ek albo idiota nie będzie specjalnie zmieniał innym użytkownikom hasła questionmark.gif Bo takie rozwiązanie to zawsze jest jak pisałem...
ale nowe haslo wysylasz na mail użytkownika, a haslo możesz dopiero zmienić gdy ten użytkownik kliknie na linka który mu podales

i tu się kłania czytanie ze zrozumieniem 1-szego postu... snitch.gif

proszę przeczytaj dokładnie jeszcze raz mój 1 post i napisz jeszcze raz

EDIT :
- do następnego postu : nie no, powoli zaczynam tracić wiarę w mą polszczyznę... PW

Proszę czytajcie dokładnie i odpowiedzcie z głową ! A nie za przeproszeniem z tylną częścią ciała na 4 literki...
nospor
że niby niepotrzebnie dalem o linku który gościu musi kliknąć? Jak tak, to ty niepotrzebnie zadales pytanie na które odpowiedzialem. Jak nie to wyjasnij mi prosze o co chodzi
strife
Witam,

W takim razie ja tez się pogubiłem, robisz rejestrację która składa się z podania nick'a, hasła i mail'a. Jeśli ktos zapomni hasło musi podać swój e-mail i nick. Jeśli e-mail jest taki jak zapisany w bazie danych odpowiadający temu nick'owi to zostaje wysłany e-mail z linkiem, dzięki któremu tak jak napisał @nospor kliknięciu na ten link hasło zostaje zmienione na to wygenerowane.

Jeśli nie zrobi tego w ciągu 24 godzin, operacja ta zostaje anulowana.

Jeśli ktoś chciałby zmieniac w ten sposób czyjeś hasło musiał by znać jego hasło do skrzynki pocztowej.

Pozdro!
[PL]Neon
qrde wiecie to to to i ja wiem...

ALE JAK TO ZROBIĆ W php questionmark.gif
nospor
No ale czegbo ty nie wiesz? JAk zrobić link?:
  1. <?php
  2.  
  3. $link='mojastrona?newpas=nowe_haslo&uzytk=uzytkownik';
  4.  
  5. ?>


Nie wiesz jak wyslać? Poczytaj se o mail, Pear.

Nie wiesz jak aktywować?
  1. <?php
  2.  
  3. if (isset($_GET['newpas']))
  4. {
  5.    $newpas=$_GET['newpas'];
  6.    $uzytk=$_GET['uzytk'];
  7. $sql='update tabela set pass=''.$newpas.'' where uzytk=''.$uzytk.''';
  8. }
  9.  
  10. ?>
To by bylo w skrócie
strife
Cytat([PL)
Neon,2005-05-23 18:40:42]qrde wiecie to to to i ja wiem...

ALE JAK TO ZROBIĆ W php questionmark.gif

Myślisz że ktoś Ci tu napiszę cały skrypt? Z tym mailem to zainteresuj się mail" title="Zobacz w manualu PHP" target="_manual, potem piszesz skrypt który będzie po wprowadzeniu poprawnego nick i mail wprowadzał do bazy w jakieś rekordy, czyli tymczasowe hasło w md5 i jakiś algorytm czyli wartość link'a generujesz przez np rand" title="Zobacz w manualu PHP" target="_manual.

Potem piszesz skrypt w którym będzie zmienna GET o np. skrypt który będzie szukał w bazie przez zmienną GET właśnie tego algorytmu jeśli znajdzie to hasło tymczasowe zmieni się miejscami z aktualnym.

Przykłady takowych skryptów:(zarys)

  1. <?php
  2.  
  3. if (!empty($_GET['o']) and strlen($_GET['o']) > 9) // zakladamy ze algorytm przez rand ma 10 znakow
  4. {
  5.  
  6.  (...) // Szykanie takiego rekordu w bazie czyli wynik zmiennej GET 'o'...
  7.  
  8.  (...) // Nastepnie warunki jesli w bazie jest rekord odpowiadajacy zmiennej o to haslo z
  9. staje zmienione
  10.  
  11. }
  12.  
  13. ?>


Na forum php było chyba kilka klas do wysyłania maili poszukaj.

Pozdro!

BTW. Nie oczekuj że ktoś Ci napisze tutaj cały skrypt najlepiej napisz coś a potem wskaż co Ci nie wychodzi...
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.