Beste,
Ik ben bezig met een 2FA systeem.
Misschien kent u dat wel van Google Authenticator. Dat een gebruiker dat wil inloggen, eerst een email krijgt waar een code in staat en vervolgens die code moet invoeren om uiteindelijk in te kunnen loggen.
Nu ben ik bezig met zo'n systeem, maar ik wil geen externe API'S gebruiken. (Bijv. Google Authenticator)
In plaats daarvan wil ik een eigen systeem maken.
Maar hoe zal ik dit het best aanpakken?
Een token genereren natuurlijk, met $token = random_bytes(5).
En een verloopdatum met $expires = date(U) + 300;
Zijn er nog extra kolommen die ik moet toevoegen in de MYSQLI database, om de veiligheid van dit systeem te verbeteren, of nog andere (veiligheids)suggesties?
Ik heb het eindelijk gevonden waar het aan lag.
Het lag aan de variabelen binnen de action van de form, want die waren niet gedefinieerd etc.
Maar nu kom ik bij het volgende onderdeel:
De "onthoud mij" knop.
Hoe kan ik dit het beste regelen?
Ja oké, ik weet dat Google Chrome bijvoorbeeld dat kan.
Maar ik wil dat als de bezoeker "onthoud mij" aanvinkt, binnen 3 maanden geen 2FA meer hoeft te doen op dat apparaat.
En geloof niet dat Google Chrome dat ook kan.
Nee.
Ik weet eigenlijk ook niet wat browser fingerprinting is...
(Ik heb er nog nooit van gehoord)
Maar denkt u dat browser-fingerprinting beter / slechter is dan cookies?
Er is een hoop over te lezen. Ik zou het dan liever gaan gebruiken. Cookies kan je wissen, en dat sloopt het idee van je 2FA onthouden weer een beetje.
Volgens mij is dit juist waar cookies voor bedoeld zijn - de nette manier zeg maar. Fingerprinting is meer wat die shady advertentieboeren gebruiken om - ondanks dat je het niet wilt - je toch te volgen. Als ik mijn cookies wil wissen, dan wis ik toch mijn cookies?
En andersom: op mijn mobiel wissel ik vaker van IP-adres (meerdere malen per dag) dan dat ik m'n cookies wis (nooit).
Is het zo dat Adblockers de fingerprint kunnen blokkeren?
Want als dat zo is en de gebruiker heeft adblocker, dan is het "onthouden" een beetje nutteloos.