FAQ |
Kalender |
2014-10-25, 12:23 | #11 | ||
|
|||
Flitig postare
|
Vad är de för data som ska sparas ner? Användarrelaterad data sparas normalt i en databas och referensen till raden i en cookie/session. Vad händer annars när någon startar om servern och alla sessions försvinner med tillhörande data?
|
||
Svara med citat |
2014-10-25, 22:04 | #12 | ||
|
|||
Mycket flitig postare
|
Citat:
startas servern om, så blir alla utloggade, så måste alla logga in igen på nytt för att erhålla nya sessioner. Men om jag nu gör som du säger, dvs skapar en referenskolumn med en cookie som refererar till användarkolumnen i databasen. då gissar jag att den ska se ut på detta vis: Kod:
dbo.CookieSession id, sessionId, userId, dateCreate, dateExpire 1, 54h6j4jkj6tgghjh46ghj546, 1489, 2014-10-25, 2014-10-26 typ "inloggad som Johan Åselius" högst upp på sidan. och det är även sessionen som håller koll på fall användaren är inloggad eller inte. |
||
Svara med citat |
2014-10-25, 23:22 | #13 | ||
|
|||
Flitig postare
|
Citat:
Kod:
# Sätter en cookie cookie = MD5(SECRET + id) + "-" + id # Läser och verifierar mac, id = cookie.split("-") if mac != MD5(SECRET + id) # någon har ändrat id:t else # allt är som de ska, hämta användaren Senast redigerad av Nerix den 2014-10-25 klockan 23:26 |
||
Svara med citat |
2014-10-26, 00:13 | #14 | ||
|
|||
Mycket flitig postare
|
Citat:
att lagra användarId:et i en cookie (krypterat). Men det kommer fortfarande leda till en massa sql anrop... dvs en anrop för varje gång sidan laddas. frågan är då vilket som är bäst: 1. att lagra hela "user" i en dataset som en session 2. att lagra hela "user" i en dataset som en cookie 3. att lagra referens i en cookie som gör en db-anrop för att få fram användare för varje sidan. |
||
Svara med citat |
2014-10-26, 00:27 | #15 | ||
|
|||
Flitig postare
|
Citat:
Att läsa från databasen vid varje anrop kommer att ha minimal inverkan på din applikation. Vi pratar om 5 ms< / query. Helt onödig optimering. De du pratar om är att spara ner information om användaren på två ställen, vilket kommer skapa en hel del problem och förmodligen resultera i en del buggar. Spara allt på ett stället (i databasen) och hämta informationen när du behöver den. |
||
Svara med citat |
2014-10-26, 01:01 | #16 | ||
|
|||
Klarade millennium-buggen
|
Citat:
Jag brukar lagra användaraid, namn och tid för senaste aktivitet i sessionen och hämta från databasen vid varje sidladdning. Det ska till hiskeligt många samtidiga användare för att svartiderna ska bli ett problem. Senast redigerad av Conny Westh den 2014-10-26 klockan 01:10 |
||
Svara med citat |
Svara |
|
|