it-swarm-eu.dev

Co se má stát, když se změní přihlašovací e-mail uživatele?

Dělám online frontend pro systém. Tento systém obvykle používá podnik poskytující služby zákazníkovi. Zákazník bude mít možnost použít tento online frontend kromě přímého jednání se skutečnou osobou v podniku.

Nyní se uživatel přihlásí k online frontendu pomocí e-mailové adresy jako uživatelského jména. Tato e-mailová adresa byla společností spojena s jejich účtem. Uživatel může tuto e-mailovou adresu kdykoli změnit přímou komunikací s firmou. Pokud uživatel změnil svou e-mailovou adresu způsobem, co se stane?

Je zřejmé, že nová e-mailová adresa se musí uživatele přihlásit hladce. Co se stane se starou e-mailovou adresou, když se uživatel pokusí přihlásit?

  • Vyhodíme chybu „neplatný e-mail“?
  • Vyzýváme uživatele k přihlášení pomocí nové e-mailové adresy?
  • Umožňujeme uživateli přihlášení pomocí staré adresy, ale na frontendu vidíme význačnou možnost s žádostí o přepnutí?

Jako líný programátor se přikláním k druhé možnosti. Možná je třetí možnost použitelnější? Vypadá to, že by přidalo další vrstvu složitosti, a to jak v programu, tak v tom, jak si uživatel musí myslet na svůj účet.

12
James

Měli byste vyvolat chybu „neplatný e-mail“. Je to nejtransparentnější, přesně komunikuje, co se stalo, a uživatel může okamžitě upravit chování na základě této zpětné vazby, s malou pravděpodobností, že se stejná zpráva znovu objeví. Nechte mě projít, proč ostatní možnosti nejsou dobrý nápad:

  • Výzva k přihlášení pomocí nové adresy je bezpečnostní vzor. Pokud znám vaši starou e-mailovou adresu, mohu nyní zjistit, jaká je vaše nová e-mailová adresa, že vím, že používáte službu X. Mohlo by se jednat o ochranu soukromí, zejména na seznamovací síti nebo sociální síti. (pravit: Toto je problém, jen když skutečně zobrazujete novou e-mailovou adresu; špatně jsem si přečetl vaši odrážku a myslel jsem si, že to je to, co jste říkal.

  • Nevíte, proč uživatel mění svou e-mailovou adresu, takže je riskantní pokračovat v uzamčení této e-mailové adresy k tomuto účtu. Pro všechny víte, že zrušili svůj účet pomocí svého předchozího e-mailového hostitele a tuto adresu nyní používá někdo jiný, kdo může také chtít získat přístup k vašim službám (nepravděpodobné, ale teoreticky!).

Pokud implementujete varování „neplatný e-mail“, můžete věci trochu zpříjemnit pomocí našeho spolehlivého nízkonákladového přítele Copywriting:

Zadaná e-mailová adresa nebo heslo je neplatné. [...] Možná jste změnili e-mailovou adresu, pomocí které se přihlašujete?

Můžete také nabídnout možnost vyžádat si, která e-mailová adresa se používá k přihlášení. Chcete-li to provést bez ukončení výše uvedeného anti-vzoru, umožněte uživateli vložit jeho starý e-mailová adresa a poté se zobrazí zpráva „zaslali jsme e-mail na adresu, kterou máme v souboru, který používáte k přihlášení“. Poté si uživatel bude moci zapamatovat, kterou e-mailovou adresu používá pomocí přidružení z e-mailu, který jim pošlete. Samozřejmě musíte zkontrolovat, zda uživatelé nevadí, že si uchováváte protokol o svých minulých e-mailových adresách - nemusí to ocenit.

Vše výše uvedené jde poněkud nad rámec toho, co většina webových stránek zaměřených na spotřebitele implementuje, pokud jde o uživatelskou přívětivost. Změna e-mailové adresy je obvykle trvalá změna a pokud zapomenete, že jste tuto změnu provedli, neexistuje způsob, jak věci opravit. Zvažte například svůj účet Google: změňte tam e-mailovou adresu a zapomeňte a pravděpodobně máte docela velký problém, kromě registrace telefonního čísla, na které vám mohou poslat textovou zprávu.

pravit: Jasně nejlepším řešením je kombinace vašich prvních a druhých bodů, které jsem před zapsáním této odpovědi zanedbal, abych si důkladně přečetl. Většina odpovědí však stále dává smysl.

12
Rahul

V poznámce o zabezpečení vs použitelnost - důvod, proč některé systémy neříkají, zda byl zadán e-mail nebo heslo, je ten, že když řeknete „neplatný e-mail“, hackerovi naopak dáváte signál, že daný e-mail - funguje funguje, když je je přítomen.

Takže bych neřekl 'neplatný e-mail' - řekl bych 'e-mail nebo heslo nebylo rozpoznáno'.

17
Julian H

Pokud je e-mailová adresa používána jako jedinečné ID, pak bych očekával, že systém zapomene původní e-mail a nyní mě spojuje s novým. Čekal bych tedy chybu. Možná by zpráva mohla naznačovat, že možná změnili svou e-mailovou adresu.

Ať už děláte cokoli, mějte e-mail na původní e-mailovou adresu při změně na novou e-mailovou adresu v řádcích „E-mailová adresa pro tento účet byla změněna na [nový e-mail]. Pokud je to nesprávné, prosím [přidejte odkaz na tuto námitku]. “

Apple to nedělá. Což naštve, když někdo napadne váš účet iTunes a změní e-mailovou adresu.

5
DA01

Tato otázka je trochu zavádějící, protože používá „e-mailovou adresu“ aplikace Word, když se ve skutečnosti vztahuje na jakýkoli jedinečný řetězec, který identifikuje uživatele. Pokud jde o zasílání důvěrných informací na potenciálně nesprávnou e-mailovou adresu, existují zvláštní obavy; Nebudu se tím zabývat.

Pokud jde o problém „řetězec identifikace uživatele se změnil“, web, na kterém pracuji, implementoval řešení, které funguje takto:

  • Když se změní ID uživatele, staré ID je stále vyhrazeno na určitou dobu.
  • Když se uživatel přihlásí pomocí svého nového ID, staré ID se uvolní pro další použití později jiným uživatelem.
  • Pokud se uživatel přihlásí pomocí starého ID, systém jim zobrazí stránku, která ukazuje, že se jejich ID změnilo a co je nové ID. Toto je považováno za bezpečné, protože ID je pouze jméno a je vyžadováno heslo. Pravděpodobně pouze uživatel zná své heslo.
  • Na stránce „uživatelské jméno změněno“ je odkaz, který uživatele přenese na web. Kliknutím na odkaz uvolníte staré ID. Budoucí pokusy o přihlášení pomocí starého ID selžou.

Pokud uživatel mění své ID kvůli obavám o zabezpečení, pak by to, co opravdu měli dělat, bylo změnit své heslo. V tomto případě je ID veřejně známé uživatelské jméno, takže jeho změna z bezpečnostních důvodů nemá žádnou výhodu.

Pokud potřebujete zajistit, aby byl e-mail odesílán na správnou adresu, musíte implementovat nějaký druh systému, ve kterém příjemce e-mailu může ověřit e-mailovou adresu a prokázat příjem e-mailu, včetně některých mimo informace o pásmu, jako je zpráva SMS nebo tak něco). To je však samostatný problém.