PHP-Einfach.de
  • PHP Tutorial
  • MySQL Tutorial
  • Für Fortgeschrittene
  • Webhosting
  • Forum

Cookies

10. Februar 2020
  1. Home
  2. »
  3. PHP Tutorial
  4. »
  5. Cookies

Mit Cookies hat man genau so die Möglichkeit, wie bei Sessions, bestimmte Daten während einer Folge von Aufrufen einer Website festzuhalten.
Allerdings kann man mit Cookies auch Daten über die Sitzung hinaus speichern (z.B. 100 Tage nach der Speicherung), denn Cookies werden als Datei auf dem Computer des Besuchers gespeichert.
Allerdings kann der Besucher uns natürlich verbieten, auf seinem Computer einen Cookie zu speichern, darum verwendet man nur für die Speicherung von Daten während einer Folge von Aufrufen einer Website lieber Sessions.

Ein Cookie benutzt man z.B. um Besucher auch nach Ablauf der Session, also i.d.R. nach dem Verlassen der Homepage, eindeutig zu identifizieren.
Dies kann man z.B. bei Umfragen benutzt werden, oder als "Wiederkehrfunktion" bei einem Forum.

Inhaltsverzeichnis

  • 1 Cookie setzen
  • 2 Cookies auslesen
  • 3 Cookies Löschen
  • 4 Angemeldet bleiben

Cookie setzen

Nur ganz oben bevor etwas mit oder ohne PHP ausgegeben wird können wir ein Cookie setzen:

1
2
3
<?php
setcookie("username","Max",0);
?>

Die erste Angabe (username) ist der Name des Cookies, über die der Cookie später immer erreichbar ist. Die zweite Angabe ist der Wert, der nachher im Cookie gespeichert wird. In diesem Fall Max. Die dritte Stelle ist eine Zeitangabe, wie lange der Cookie gültig, d.h. auf dem Computer des Anwenders gespeichert wird. In diesem Fall hab ich aber keine Zeitangabe sondern die Zahl 0 verwendet. Null heißt, dass der Cookie bis zum Ende der Sitzung hält, also solange wie der Benutzer den Browser geöffnet hat.
Um einen Zeitpunkt anzugeben, muss man die Sekunden seit dem 1.1.1970 angeben. Da man meistens aber keinen exakten Zeitpunkt angibt, z.B. den 31.08.2015, speichert man eigentlich nur eine Zeitspanne, nach wie vielen Tagen der Cookie verfällt. Um dies zu realisieren, verwendet man einen kleinen Trick. Man ermittelt den aktuellen Timestamp, also den Zeitpunkt der Cookiesetzung, und rechnet zu dem Wert dann noch die entsprechenden Sekunden für die Lebensspanne des Cookies:

1
2
3
<?php
setcookie("username","Max",time()+(3600*24));
?>

Dieser Cookie würde jetzt 3600*24 Sekunden halten und das entspricht 24 Stunden.

Cookies auslesen

Cookies können ähnlich wie Sessions ausgelesen werden:

1
2
3
4
<?php
$cookie = $_COOKIE["username"];
echo "Der Inhalt des Cookies: $cookie";
?>

Bei dem Auslesen von Cookies ist außerdem noch zu beachten das sie nur in dem Verzeichnis wo ein Cookie gesetzt wurde, der Cookie auch ausgelesen werden kann. In einem anderen Verzeichnis ist er nicht auslesbar.

Cookies Löschen

Um ein Cookie zu löschen, muss man einen Zeitpunkt in der Vergangenheit angeben. Dadurch erkennt der Browser, dass dieser Cookie abgelaufen ist, und löscht diesen:

1
2
<?php
setcookie("username","",time() - 3600);

Sicherheit von Cookies
Im Gegensatz zu Sessions werden Cookies auf dem Computer des Besuchers und nicht auf dem Server der Webseite gespeichert, deshalb können sie gefälscht werden.
Zum Beispiel beim Browser Firefox gibt es einen Datei, die so aussehen könnte:

1
2
3
4
5
# HTTP Cookie File
# http://www.netscape.com/newsref/std/cookie_spec.html
# This is a generated file! Do not edit.
# To delete cookies, use the Cookie Manager.
forum.php-einfach.de FALSE / FALSE 0 username Max

Der erste Wert gibt an, von welcher Website dieser Cookie stammt, die 0 ist die Lebensdauer des Cookies. Danach folgt der Cookie Name und der Cookiewert.

Natürlich kann jeder den Inhalt auslesen und auch verändern, darum sollte man einem Cookie nicht trauen.
Falls ein Angreifer z.B. den Cookie kopiert, dann kann er sich damit als der Besitzer ausgeben.

Angemeldet bleiben

Cookies werden oft benutzt, um die beliebte Funktion Angemeldet bleiben zu implementieren. Dazu wird auf dem Rechner des Besuchers ein entsprechender, geheimer Wert hinterlegt. Sobald der Besucher die Website erneut besucht, wird dieser Wert im Cookie ausgelesen und sofern alles stimmt, wird der Benutzer eingeloggt. Die Umsetzung dieser Funktion ist nicht ganz einfach, deswegen haben wir diesem Thema einen extra Artikel gewidmet: Angemeldet bleiben.

Autor: Nils Reimers
Zurück: Dateiupload
Weiter: Konstanten

PHP Tutorial

  • Installation
  • Webspace
  • Erste Schritte
  • Text ausgeben per echo
  • Kommentare
  • Variablen
  • Rechnen mit Variablen
  • $_GET und $_POST
  • if-Anweisungen
  • Vergleichsoperatoren
  • Logische Operatoren
  • Übungsaufgaben
  • while-Schleife
  • for-Schleife
  • Arrays
  • Dateien lesen
  • Dateien schreiben
  • Datum und Uhrzeit
  • E-Mails mit PHP versenden
  • Suchen und Ersetzen
  • Sessions
  • Eigene Funktionen
  • Andere PHP Dateien einbinden
  • Dateiupload
  • Cookies
  • Konstanten
  • Reguläre Ausdrücke
  • Überblick: Wichtige PHP Funktionen
Mit freundlicher Unterstützung von:
  • Punkt191 Werbeagentur

Hoster – Geringste Ausfallzeit

  1. netcup Ø 0 Min.
  2. webgo Ø 0 Min.
  3. Linevast Ø 3 Min.
  4. All-Inkl.com Ø 3 Min.
  5. checkdomain Ø 4 Min.
  6. dogado Ø 6 Min.
  7. Strato Ø 8 Min.
  8. manitu Ø 10 Min.
  9. 1&1 Ø 10 Min.
  10. DomainFactory Ø 14 Min.
» Mehr erfahren

Impressum | Datenschutz | Auf PHP-Einfach.de werben

© PHP-Einfach.de 2003 - 2025

Cookie-Zustimmung verwalten
Um dir ein optimales Erlebnis zu bieten, verwenden wir Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wenn du diesen Technologien zustimmst, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn du deine Zustimmung nicht erteilst oder zurückziehst, können bestimmte Merkmale und Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Anbieter verwalten Lese mehr über diese Zwecke
Einstellungen ansehen
{title} {title} {title}