Nezatěžujte uživatele vytvářením účtů. Váš web není výjimečný.

Registrovat se. Registrovat se. Registrovat se. — Tohle Lenin nikdy neřekl. A váš návštěvník o to možná ani nemá zájem, na to nikdy nezapomínejte.

Článek je překladem anglického originálu Your Website is not Special, Don’t Make Visitors Make Accounts, jehož autorem je Ben Burwell. Je zveřejněn se souhlasem autora a v souladu se svou původní licencí CC BY 4.0

Jedním ze strašáků použitelnosti webových stránek je nutnost vytváření zbytečných uživatelských účtů. Když jsem si naposledy kupoval vstupenky z Ticketfly, bez registrace mě web nenechal nákup dokončit. Pro uživatele, kteří nějaké vstupenky kupují každou chvíli, může mít registrace řadu výhod. Ale pro mne, jako pro někoho, kdo si kupuje vstupenky nejvýše jednou za rok, dva, je registrace na takové webové stránce nejen zbytečná, ale ještě k tomu otravná.

Neříkám, že byste svým uživatelům neměli nabídnout možnost si účet vytvořit, to by pravděpodobně také nebylo zcela na místě (samozřejmě s přihlédnutím k tomu, jaký typ webové stránky provozujete). Na každý pád vědí návštěvníci vašich stránek mnohem lépe než vy, jestli budou chtít a používat uživatelský účet. Nutit je si účet vytvořit leckteré z nich pravděpodobně odvede z vašich stránek pryč. Neexistuje žádný pádný důvod, proč byste nemohli nabídnout možnost „nakoupit bez registrace“.

A pokud už uživatelské účty nabízíte, můžete se řídit následujícími pravidly, abyste svým návštěvníkům zpříjemnili jejich vytváření:

  1. Dovolte přihlášení přes třetí stranu (OpenID, Facebook, Google atd.). Vaši návštěvníci si často nechtějí pamatovat další dvojici uživatelského jména a hesla.
  2. Nenuťte své uživatele použít přihlášení přes třetí stranu. Vždy umožněte vytvoření místního účtu. Řada návštěvníků nechce, navzdory tomu, co se píše v bodě 1, k přihlašování používat své účty na sociálních sítích. Řada z nich také účty na sociálních sítích vůbec mít nemusí.
  3. Uživatelské jméno = e-mailová adresa. Nenuťe své uživatele pamatovat si uživatelské jméno. Můžete jim umožnit zvolit si nějaké později po registraci, pokud to bude nutné – například pro URL jejich profilu.
  4. Nevymýšlejte pro hesla komplikovaná pravidla. Pokud už nějaká musíte mít, nastiňte je uživatelům ještě před tím, než začnou heslo vyplňovat. Zjistit pravidla pro heslo až z červené chybové hlášky neodeslaného registračního formuláře je frustrující.
  5. Nikdy, nikdy, neomezujte délku hesla, kterou si uživatelé mohou nastavit (samozřejmě v rozumné míře, megabytová hesla nechce od uživatelů asi nikdo). Moje banka omezuje heslo na 14 znaků, to je nesmyslné. Microsoft délku hesla u svých účtů omezuje na 16 znaků. Protože hesla stejně šifrujete, nemusíte kvůli delším heslům měnit datové typy v databázi uživatelů.
  6. Vždy nabídněte svým uživatelům zrušení účtu. Tento krok by měl z vaší databáze odstranit všechny informace o uživateli do té míry, aby nenarušil celistvost ostatních, nemazaných dat.

Jistě, jsou tu okolnosti, kterých si musíte být vědomi a nejsou tématem tohoho článku. Nechám na vás to, aby vaše technické řešení bylo bezpečné a robustní, ale poskytnu vám alespoň pár základních rad a tipů:

  • Nevymýšlejte si vlastní šifrování. To se týká protokolů, hashů hesel, čehokoliv.
  • Používejte bcrypt. Nepoužívejte SHA-1 ani MD5!
    • O ukládání hesel bez jejich zahashování doufám ani nepřemýšlíte.
  • Použití nezabezpečeného HTTP (bez SSL/TLS) je neomluvitelné.
  • Nevymýšlejte si vlastní šifrování.
  • Nevymýšlejte si vlastní šifrování.

Dobrým úvodem do problematiky je přednáška Michala Špačka Zahashovat heslo, uložit, …, profit! nebo pokročilejší anglický článek Salted Password Hashing – Doing it Right.

Věděli jste, že nám můžete zasílat zprávičky? (Jen pro přihlášené.)

Komentáře: 10

Přehled komentářů

Radek Miček
Petr Jasník Re:
Matěj Humpál Re:
Xificurk Banka
Nikdo Re: Banka
glubothemad Blba pravidla pro slozitost hesel
caracho Nepresnosti a doplneni
caracho Re: Nepresnosti a doplneni
amazon hash
to je jedno bla bla
Zdroj: https://www.zdrojak.cz/?p=14261