Do systému eshopu jsme zabudovali zabezpečení hesel jak zákazníků, tak administrátorů.
Hesla zákazníků nyní nejsou uložená v databázi, ukládá se jen takzvaný hash (otisk) a porovnává se, jestli hash hesla odeslaného přes formulář odpovídá údajům v databázi. Tímto způsobem není možné zpětně zjistit heslo. Hlavním důvodem je, že poměrně velká část lidí používá stejná hesla na více místech. Teoreticky by tak například majitel eshopu mohl vyzkoušet heslo k mailové schránce zákazníka a dostat se někam, kde nemá co dělat.
V praxi to znamená, že pokud zákazník zapomene heslo, má dvě možnosti. V eshopu klikne na odkaz, stejně jako dříve. Eshop mu heslo neodešle, ale pošle se mu odkaz na stránku, kde si v eshopu nastaví heslo nové. Tento odkaz po nastavení nového hesla přestane platit, takže jej nikdo další již nemůže použít. Pokud tak neučiní do 6h, odkaz již nebude fungovat a je potřeba požádat o změnu hesla znovu.
Druhá možnost je, že zákazník kontaktuje majitele eshopu a ten má možnost v administraci nové heslo nastavit.
U administrátorů jsme možnost zaslání hesla emailem ponechali. Rozdíl je v tom, že hesla v databázi jsou zakódovaná, stejně jako dříve. Takže pokud by někdo získal data, například ze zálohy databáze, musel by znát algoritmus pro dekódování.
Hesla administrátorů nově nejdou v administraci zobrazit, ale je zde možnost nastavit hesla nová.
Dříve bylo možné vytvářet neomezený počet administrátorů, ale všichni kromě uživatele "admin" měly práva podle nastavení. Nyní je možné přidávat libovolný počet uživatelů s neomezenými právy.
Zároveň jsme upravili pravidla pro nová hesla. Nově nastavené heslo musí být dlouhé 8 - 20 znaků, musí obsahovat malá i velká písmena a číslice.
Bylo by možné udělat daleko přísnější zásady - od přísnějších pravidel pro hesla až po autorizaci přes SMS. V praxi to však znamená, že každé další pravidlo znamená určitou komplikaci a je potřeba hledat nějaký kompromis mezi přijatelnou mírou bezpečnosti a komfortu.
O výše popsaných funkcích jsme přemýšleli již dříve, protože se dá říct, že je to jakýsi standard. Ale požadavky majitelů eshopů byly dost rozdílné, proto jsme k tomu byli donuceni až nyní s příchodem GDPR.