Cookies
1 bericht
• Pagina 1 van 1
Cookies
Inleiding
Op vele sites waarop een inlogformulier staat - bijvoorbeeld bij een forum - kun je aangeven dat je bij het volgende bezoek automatisch wilt worden ingelogd. Een dergelijke optie maakt gebruik van cookies. In dit artikel zal ik uitleggen wat cookies zijn en hoe ze werken (in combinatie met PHP).
Cookies
Cookies zijn naam/waarde paren die worden opgeslagen door de browser, zodat ze bij een volgend bezoek aan de pagina opnieuw kunnen worden opgevraagd. In cookies kun je bijvoorbeeld de gebruikersnaam en het wachtwoord van een gebruiker opslaan zodat hij bij een volgend bezoek automatisch wordt ingelogd.
setcookie()
Via PHP kun je eenvoudig cookies aanmaken met de functie setcookie. Op de volgende manier kun je een cookie aanmaken:
PHP
Het is ook mogelijk om de geldigheidsduur voor de cookies aan te geven, en wel op de volgende manier - waarbij het derde argument een UNIX-timestamp is:
PHP
Ook kunnen we geldigheid van de cookies voor een bepaald pad of domein aangeven door middel van een vierde en vijfde argument.
Het vierde argument geeft het pad aan waarbinnen de cookie geldig is. '/' betekent dat de cookie geldig is voor het gehele domein, inclusief subdirectories. '/foo/' betekent dat de cookie geldig is voor de subdirectory foo/ en subdirectories.
Het vijfde argument geeft het domein aan. '.site.com' geeft aan dat de cookie geldig is op het domein site.com, 'www.site.com' geeft aan dat de cookie alleen geldig is in het www-subdomein.
PHP
Er is nog een zesde argument dat aangeeft of de cookie over een beveiligde - dat wil zeggen: via het HTTPS-protocol - verbinding moet worden verzonden. Dit is alleen mogelijk als een beveiligde verbinding bestaat.
Het volgende voorbeeld geeft aan dat er een cookie met naam 'naam' en waarde 'waarde' die geldig is op het gehele domein site.com verzonden moet worden over een beveiligde verbinding.
PHP
Cookies uitlezen
Het uitlezen van cookies is nog eenvoudiger dan het aanmaken er van, je hoeft namelijk slechts de superglobale variabele$_COOKIE - of in PHP-versies ouder dan 4.1.0 $HTTP_COOKIE_VARS - uit te lezen. Om de hierboven beschreven cookie uit te lezen gebruik je:
PHP
Cookies verwijderen
Het kan voorkomen dat je een bepaalde cookie wilt verwijderen. Het enige wat je daarvoor hoeft te doen is setcookie aanroepen met dezelfde parameters als bij het setten van de cookie, maar nu met een expiredate in het verleden, bijvoorbeeld op de volgende wijze:
PHP
Tips
Op vele sites waarop een inlogformulier staat - bijvoorbeeld bij een forum - kun je aangeven dat je bij het volgende bezoek automatisch wilt worden ingelogd. Een dergelijke optie maakt gebruik van cookies. In dit artikel zal ik uitleggen wat cookies zijn en hoe ze werken (in combinatie met PHP).
Cookies
Cookies zijn naam/waarde paren die worden opgeslagen door de browser, zodat ze bij een volgend bezoek aan de pagina opnieuw kunnen worden opgevraagd. In cookies kun je bijvoorbeeld de gebruikersnaam en het wachtwoord van een gebruiker opslaan zodat hij bij een volgend bezoek automatisch wordt ingelogd.
setcookie()
Via PHP kun je eenvoudig cookies aanmaken met de functie setcookie. Op de volgende manier kun je een cookie aanmaken:
PHP
- Code: Alles selecteren
setcookie( 'naam', 'waarde' );
Het is ook mogelijk om de geldigheidsduur voor de cookies aan te geven, en wel op de volgende manier - waarbij het derde argument een UNIX-timestamp is:
PHP
- Code: Alles selecteren
setcookie( 'naam', 'waarde', time() + 3600 );
Ook kunnen we geldigheid van de cookies voor een bepaald pad of domein aangeven door middel van een vierde en vijfde argument.
Het vierde argument geeft het pad aan waarbinnen de cookie geldig is. '/' betekent dat de cookie geldig is voor het gehele domein, inclusief subdirectories. '/foo/' betekent dat de cookie geldig is voor de subdirectory foo/ en subdirectories.
Het vijfde argument geeft het domein aan. '.site.com' geeft aan dat de cookie geldig is op het domein site.com, 'www.site.com' geeft aan dat de cookie alleen geldig is in het www-subdomein.
PHP
- Code: Alles selecteren
setcookie( 'naam', 'waarde', time() + 3600, '/', '.site.com' );
Er is nog een zesde argument dat aangeeft of de cookie over een beveiligde - dat wil zeggen: via het HTTPS-protocol - verbinding moet worden verzonden. Dit is alleen mogelijk als een beveiligde verbinding bestaat.
Het volgende voorbeeld geeft aan dat er een cookie met naam 'naam' en waarde 'waarde' die geldig is op het gehele domein site.com verzonden moet worden over een beveiligde verbinding.
PHP
- Code: Alles selecteren
setcookie( 'naam', 'waarde', time() + 3600, '/', '.site.com', true );
Cookies uitlezen
Het uitlezen van cookies is nog eenvoudiger dan het aanmaken er van, je hoeft namelijk slechts de superglobale variabele
PHP
- Code: Alles selecteren
echo $_COOKIE[ 'naam' ];
Cookies verwijderen
Het kan voorkomen dat je een bepaalde cookie wilt verwijderen. Het enige wat je daarvoor hoeft te doen is setcookie aanroepen met dezelfde parameters als bij het setten van de cookie, maar nu met een expiredate in het verleden, bijvoorbeeld op de volgende wijze:
PHP
- Code: Alles selecteren
// Setten
setcookie( 'naam', 'waarde', time() + 3600 );
// Verwijderen
setcookie( 'naam', 'waarde', time() - 3600 );
Tips
- Veel gebruikers hebben hun browser zo ingesteld dat er geen cookies geaccepteerd worden.
- Sla nooit vertrouwelijke informatie op in cookies.
- Cookies dienen niet gebruikt te worden voor andere redenen dan verhoging van de gebruiksvriendelijkheid.
- RedRose
- Globale moderator
- Berichten: 1994
- Geregistreerd: 14 Jun 2005 18:12
1 bericht
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 1 gast