PHP - Cookies, Sessions eller blanda?

Permalänk
Medlem

PHP - Cookies, Sessions eller blanda?

Hej!

Håller på att vidareutveckla mina php-färdigheter och bygger ihop en enkel inloggningssida. Nu sitter jag och funderar på om jag ska använda sessions eller cookies eller om det finns någon vinst att använda både och. Just nu är det enda jag är intresserad av att lagra är användarnamn och lösenord så att användaren slipper logga in även efter han stängt sin läsare och då verkar cookies vara ett bättre alternativ. Ändå tycks de flesta förespråka sessions på de forumen jag läst så jag undrar om det finns någon direkt "best practice"?

Visa signatur

Ne nos sequere nobis secede

Permalänk
Medlem

Använd alltid sessioner, sen om det är PHPs inbyggda version eller ej är en annan sak.

Skickades från m.sweclockers.com

Permalänk
Medlem
Skrivet av Snacker:

Använd alltid sessioner, sen om det är PHPs inbyggda version eller ej är en annan sak.

Skickades från m.sweclockers.com

Men om jag vill att användaren ska kunna starta om sin läsare och ändå slippa logga in måste man väl använda cookies?

Visa signatur

Ne nos sequere nobis secede

Permalänk
Medlem
Skrivet av Wolfclaw:

Hej!

Håller på att vidareutveckla mina php-färdigheter och bygger ihop en enkel inloggningssida. Nu sitter jag och funderar på om jag ska använda sessions eller cookies eller om det finns någon vinst att använda både och. Just nu är det enda jag är intresserad av att lagra är användarnamn och lösenord så att användaren slipper logga in även efter han stängt sin läsare och då verkar cookies vara ett bättre alternativ. Ändå tycks de flesta förespråka sessions på de forumen jag läst så jag undrar om det finns någon direkt "best practice"?

I kakor har du sånt du inte är rädd om t.ex. vilket tema användaren har valt eller andra inställningar som inte är så känsliga. Användare kan styra och ställa hur mycket de vill i kakor. Sessioner ska du använda när användaren logga in. Dessa är krypterade och är svåra att ändra på. Vill du ha ett "Håll mig inloggad"-alternativ så ska du fortfarande använda sessioner för att hålla i vilken användare man är inloggad med. Förutom det så ska du skapa två kakor med användar-ID:t + en hashad version av användarens lösenord.
Om då användaren kommer till inloggningsskärmen + ingen session finns men kaka med info finns, kolla upp om användar-ID:t och lösenords-hashen stämmer med databasen, ifall det är så, logga in användaren.

EDIT: Såg en post på PHPportalen som förklarade detta jättebra

Skrivet av Wedge:

Cookies är som vykort. Skriv inget känsligt där. Speciellt inte lösenord i klartext. Och åtkomsträttigheter, inloggningsstatus och liknande hör inte hemma i data som kan manipuleras av användaren (dvs kakor).

Visa signatur

Intel Core i5 2500k @ 4.2GHz | Sabertooth P67 | 8GB DDR3 1600MHz | XFX 390 8GB DDR5

Permalänk
Medlem
Skrivet av Mossan9:

I kakor har du sånt du inte är rädd om t.ex. vilket tema användaren har valt eller andra inställningar som inte är så känsliga. Användare kan styra och ställa hur mycket de vill i kakor. Sessioner ska du använda när användaren logga in. Dessa är krypterade och är svåra att ändra på. Vill du ha ett "Håll mig inloggad"-alternativ så ska du fortfarande använda sessioner för att hålla i vilken användare man är inloggad med. Förutom det så ska du skapa två kakor med användar-ID:t + en hashad version av användarens lösenord.
Om då användaren kommer till inloggningsskärmen + ingen session finns men kaka med info finns, kolla upp om användar-ID:t och lösenords-hashen stämmer med databasen, ifall det är så, logga in användaren.

EDIT: Såg en post på PHPportalen som förklarade detta jättebra

Så gör jag nu. På varje sida i "member area" inkluderas en "authentication-file" som funkar så här:

Koppla upp mot databasen Om öppen session finns Kolla mot databasen att det är rätt användarnamn Om inte Döda sessionen Gå till inloggningssidan Annars om kaka finns Kolla mot databasen att användarnamn och lösenord (hashat) är rätt Om inte Döda sessionen Gå till inloggningssidan Annars Döda sessionen Gå till inloggningssidan

Alltså, så länge det finns en session eller en kaka, gör scriptet ingenting och man kan surfa på alla "member pages".
Kakan lagras om användaren väljer att kryssa i en ruta "Håll mig inloggad".

Visa signatur

Ne nos sequere nobis secede