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?
Oké.
Ik ben erachter gekomen dat het aan het volgende ligt:
De sessions worden opgeslagen naar de juiste directory. (C:/xampp/tmp)
Maar ze worden niet opgeslagen als cookie.
Want als ik dit neerzet:
echo $_SESSION['User'];
Zie ik mijn gebruikersnaam.
Maar ik zie linksbovenin bij google chrome niet dat de session is gestart. (geen PHPSESSID)
Dus hoe kan ik dit oplossen?
Normaal gesproken kun je toch alle cookies zien?
En dan zie ik (op mijn website waar de sessions wel werken) PHPSESSID.
Maar dat zie ik nu dus niet staan.
En na even googlen, blijkt dat PHPSESSID, de standaard naam van PHP sessions te zijn.
Maar die staat er dus niet.
Ga eerst eens na of dit in elke browser gebeurt. En heb je pas iets aan php.ini aangepast, of andere sessie-afhankelijke configuratie dingen aan je site toegepast?