Weryfikacja podczas rejestracji zduplikowanego adresu mail użytkownika

Weryfikacja podczas rejestracji zduplikowanego adresu mail użytkownika
cerrato
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poznań
  • Postów: 9012
0

Pytanie nie jest za bardzo programistyczne, raczej z dziedziny security, RODO i ogólnie polityki prywatności względem użytkowników.

Mamy aplikację, która żeby stworzyć konto/się zarejestrować wymaga podania maila.
Co w sytuacji, w której ktoś próbuje się zarejestrować na adres, który już jest w bazie?

  • nic nie robić, po prostu zignorować taką próbę?
  • pokazać informację, że dany adres jest już używany?
  • zasugerować przejście do formularza zmiany hasła?
  • wysłać powiadomienie do istniejącego usera że ktoś próbuje się zarejestrować na jego maila?
    A może macie jeszcze inne pomysły/jakieś sugestie dot. dobrych praktyk?

Z jednej strony - najprościej jest powiedzieć sorry, ten adres jest już wykorzystany, spróbuj z innym - ale czy nie jest to naruszenie zasad prywatności istniejącego użytkownika?
Taki przykład na szybko mi przyszedł do głowy - jest jakaś aplikacja randkowa (albo, żeby było jeszcze bardziej obciachowo - randki dla gejów). Wiem, że kumpel ma maila stefan6996@buziaczek.pl. Wchodzę na stronę rejestracji w tej aplikacji, podaję jego maila. I teraz, jeśli dostanę wprost informację o tym, że mail jest przypisany do danego użytkownika, to zostanie naruszona w jakimś stopniu jego prywatność: dostaję jasno informację, że mój kolega Stefan prawdopodobnie jest czynnym homoseksualistą, korzystającym z portali dla gejów szukających przygód. A być może Stefan nie chce się z tym afiszować - ani że szuka rozrywki, ani że lubi chłopców.

Z drugiej strony - może np. ja kiedyś stworzyłem sobie konto w jakiejś usłudze, totalnie zapomniałem, a po 4 latach chcę znowu się tam dostać. Nie pamiętam tego, że konto mam. Wypełniam formularz i teraz, jeśli nie będzie żadnej informacji zwrotnej, to mogę sobie w nieskończoność czekać na maila z linkiem aktywacyjnym.

Co sądzicie? Jak byście podeszli do tematu?

ccwrc
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 413
3

Przerabiałem to kiedyś. Jedyny poprawny komunikat (i akcja) widoczny dla użytkownika to "na twój adres został wysłany [coś tam, coś tam]".

Niezależnie, czy adres gdzieś jest, czy go nie ma. Detale powinien widzieć tylko właściciel danego adresu mailowego. Tak samo z opcją np. przypomnienia hasła. Nie dajesz znać (nie zdradzasz) czy ktoś jest w bazie, dajesz suchy komunikat.

Spine
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6964
1
  1. Przetestowałbym jak działają inne poważne/znane serwisy.
  2. W pełni uzależniłbym logowanie od zewnętrznych usług autentykacji (OAuth).
obscurity
  • Rejestracja: dni
  • Ostatnio: dni
1
ccwrc napisał(a):

Niezależnie, czy adres gdzieś jest, czy go nie ma. Detale powinien widzieć tylko właściciel danego adresu mailowego. Tak samo z opcją np. przypomnienia hasła. Nie dajesz znać (nie zdradzasz) czy ktoś jest w bazie, dajesz suchy komunikat.

Zawsze dla mnie było maksymalnie głupie było że formularz logowania czy przypomnienia hasła "nie zdradza" czy to email czy hasło jest złe a jednocześnie to wszystko można sprawdzić na formularzu rejestracji. Jakieś złudne nic niedające "zabezpieczenia".
Poprawny komunikat powinien wyglądać w stylu "Jeśli twój adres widnieje w bazie to zostanie wysłany e-mail" albo coś w tym stylu. Komunikat że na pewno email został wysłany jest mylący i często marnuje userowi czas.

Jeśli chciałbym ukryć że ktoś jest zarejestrowany to wysłałbym maila z informacją że masz już konto i linkiem do logowania / przypomnienia hasła. Niektóre serwisy od razu wysyłają token logowania i z takiego maila można się jednorazowo zalogować przez jakiś czas. Myślę że to fajne rozwiązanie a skoro ktoś i tak ma dostęp do maila to równie dobrze mógłby zmienić hasło.

DM
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 287
0

Przeciez email jest PII (personally identifiable information) czyli w najlepszym wypadku naginasz RODO.

Juz nawet nie mowie, ze ktos zbuduje sobie baze adresow na np. Linkedin i potem bedzie spam.

ccwrc
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 413
1

Przy okazji, coś mi się przypomniało. Powiedzmy, że jest to luźno związane z tematem.

Niektóre serwisy nie weryfikują poprawności adresu e-mail. Jeśli ktoś założy konto np. na platformie handlowej i poda błędny e-mail nadal będzie się mógł logować i korzystać z serwisu. Problem zaczyna się wtedy, kiedy ktoś ten błędny email rejestruje i nagle staje się właścicielem konta na platformie handlowej.

To jeszcze nie tak dawno było możliwe w serwisie OLX. Nie wiem, czy już to poprawili.

W0
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3755
1
dmw napisał(a):

Przeciez email jest PII (personally identifiable information) czyli w najlepszym wypadku naginasz RODO.

Jak to mawiał klasy: RODO-srodo :D

  1. RODO nie do końca określa, co można trzymać w bazie danych - tam jest jedynie jak to przetwarzać. Jest tam zapis o danych wrażliwych i definicja danych osobowych, ale to tyle.
  2. W Polsce nie ma nawet czegoś takiego jak "PII", są dane osobowe.
  3. Problem z emailem jest taki, że np. buziaczek123@wp.pl nie jest daną osobową, za to email adam.kowalski@januszex.pl z którego korzysta Adam Kowalski pracujący w JanuszExie już tak.
cerrato napisał(a):

Co sądzicie? Jak byście podeszli do tematu?

Załóżmy przez chwilę, że masz stronkę, która przy duplikacie zwraca informację "użytkownik o takim adresie email już został zarejestrowany". Czy tutaj doszło do wycieku jakichś danych osobowych?

Załóżmy, że:

  • to faktycznie aplikacja randkowa dla gejów
  • email jest w formie "imie.nazwisko@firma.pl", a więc jest daną osobową.

Co tak naprawdę tutaj się zadziało?

  1. Użytkownik wklepujący email już go zna, a więc nie ma wycieku emaila.
  2. Informacja, jaką się dzielisz jest taka, że ktoś zarejestrował konto użytkownika na dany email
  3. Można argumentować, że skoro ktoś założył konto na takim portalu to jest gejem - więc pośrednio jest to wyciek danych o preferencjach seksualnych. Te są danymi wrażliwymi - więc lepiej wykorzystać inny sposób na rejestrację (przez SSO) albo trzeba napisać odpowiednią klauzulę dotyczącą danych osobowych.

Natomiast jeśli natura twojej apki nie jest związana z czymś, co jest związane z danymi wrażliwymi - np. 4programmers - to spokojnie można wypluć komunikat "ten użytkownik ma już konto".

marian pazdzioch
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 789
3

Jak nie wiem jak coś się robi to biorę aplikację "Gmail" (w zależności co potrzebuję: na androida, iosa, webową, na starą nokię, na lodówkę) i patrzę jak tam jest. Jeśli coś jest dobrze zrobione to tam.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.