• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Rejestracja - aktywacja konta za pomocą adresu email

VPS Starter Arubacloud
0 głosów
244 wizyt
pytanie zadane 17 maja 2017 w PHP przez Bartlomiej Bywalec (2,480 p.)
Cześć widziałem gdzieś to niedawno na forum tylko znaleść nie mogłem, otóż mam pytanie co do aktywacji konta po rejestracji przez e-mail.

Trzeba to zrobić tak że przy rejestracji dodam pole confirmation do zakladania użytkownika, z poczatku on bedzie false, a na adres email zostanie wysłany www.link.pl/confirm.php?= ciąg znaków dany + zmienna adresu email,

I po wejsciu w ten link plik confirm.php odbierze ten ciag i email $_GET i porówna z kodem przypisanym do użytkownika i z emailem i jeśli jest ok, to zmieni confirmation na true tak? na takiej zasadzie to polega?

Jeśli tak to jak wygenerować taki ciag znaków, hashem()??, ewentualnie jesli coś zle rozumuje prosze poprawić i powiedzieć jak to lepiej ma wyglądać bo to tylko z domyśleń stwierdzam ze tak ma byc :P

Dziekuje

2 odpowiedzi

+1 głos
odpowiedź 17 maja 2017 przez xandros Nałogowiec (29,450 p.)
wybrane 17 maja 2017 przez Bartlomiej
 
Najlepsza

zawsze możesz użyć: 

bin2hex(random_bytes(32));

A później szukasz:

SELECT * FROM user WHERE activation_hash = :hash;

i jeśli znajdzie rekord, to robisz update comfirmed na true, inaczej zwracasz błąd.

Jeszcze można pomyśleć o dodaniu timestampa, by sprawdzić, czy token jest dalej aktualny.

komentarz 17 maja 2017 przez Bartlomiej Bywalec (2,480 p.)
Czyli szukac tylko po hashu? nie trzeba dodatkowej zmiennej w stylu email?
komentarz 17 maja 2017 przez xandros Nałogowiec (29,450 p.)
Hash jak i mail jest przypisany do konta jako unikalny parametr.

Więc tylko jeden user ma dokladnie taki mail i tylko jeden user bedzie mial dokladnie taki hash. Nie ma potrzeby szukać po mailu.
0 głosów
odpowiedź 17 maja 2017 przez CzikaCarry Szeryf (75,340 p.)
Działa to dokładnie tak jak mówisz. Co do ciągu znaków, to od Twojej inwencji twórczej zależy jak będziesz ten kod generował. Ja to robię randa z czasu w milisekundach, mnoże to przez drugiego randa z milisekund, robię modulo przez randa z milisekund i dodaję randa z milisekund, dodaję jeszcze do tego tajemnicza liczbę, hashuje funkcja md5 i dodaję sól.

Podobne pytania

0 głosów
1 odpowiedź 186 wizyt
pytanie zadane 27 września 2017 w PHP przez Mavimix Dyskutant (8,390 p.)
0 głosów
0 odpowiedzi 199 wizyt
pytanie zadane 7 czerwca 2019 w PHP przez Pawel512 Nowicjusz (240 p.)
0 głosów
1 odpowiedź 131 wizyt
pytanie zadane 29 sierpnia 2023 w Sieci komputerowe, internet przez Sefinek Użytkownik (790 p.)

92,452 zapytań

141,262 odpowiedzi

319,085 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...