sql >> Databasteknik >  >> RDS >> Mysql

Grunderna i ett kom ihåg-mig-system

Det finns några olika metoder för detta. En säker Metoden skulle vara att lägga till ett fält i mysql-användartabellen och ha en "remember_me"-hash som bara är en slumpmässig hash som genereras.

Hashen bör lagras i en cookie på användarens dator samt användar-id för valideringssyften så länge minnesperioden varar (du bör också ställa in remember me-perioden i DB som en tidsstämpel för extra säkerhet). När de drar upp din sida ser du om den cookien finns, om den är så autentiserar du bara hashen till användar-id. Om det validerar anses de vara inloggade. Om det inte valideras, skicka dem till en inloggningssida / de anses inte vara inloggade.

Så här konfigurerar jag de flesta av mina sajter. Smärtan är att om de loggar in från en annan dator är de nu inte längre validerade på den dator de använde och kommer att behöva autentisera sig på nytt. Men säkerhet, för mig, är viktigare än att de måste logga in igen på grund av den situationen.

EDIT:Se kommentarerna nedan för extra information om sessionerna/säkerheten.



  1. Hur installerar man Python MySQLdb-modulen med pip?

  2. SQL-fråga som returnerar alla datum som inte används i en tabell

  3. Design av lagerhanteringsdatabas

  4. Vad är nackdelen med att använda ett MySQL-fält med lång textstorlek när varje post får plats i ett fält i medelstorlek?