Heim  >  Artikel  >  Backend-Entwicklung  >  Verwendung von Cookies und Benutzersitzungen

Verwendung von Cookies und Benutzersitzungen

WBOY
WBOYOriginal
2016-08-08 09:29:15948Durchsuche

Verwendung von Cookies und Benutzersitzungen

Cookies

Cookies speichern einige kleinere Informationen über den Benutzer. Es entspricht einer Anfrage vom Server oder Skript. Über den Browser eines Benutzers kann ein Host die Speicherung von 20 Cookies anfordern. Jedes Cookie enthält einen Namen, einen Wert und ein Ablaufdatum sowie Host- und Pfadinformationen. Die Größenbeschränkung für ein einzelnes Cookie beträgt 4 KB. Nach dem Setzen des Cookies kann nur der Host, der die Anfrage stellt, die Daten lesen, wodurch sichergestellt wird, dass die Privatsphäre des Benutzers gewahrt bleibt. Darüber hinaus kann der Benutzer seinen Browser so konfigurieren, dass er alle Cookie-Anfragen akzeptiert oder ablehnt.

Das Set-Cookie-Element im Header, das von einem PHP-Skript gesendet wird, das ein Cookie setzt, kann wie folgt lauten:

Set-Cookie:vegetable=artichoke;path=/;domain=yourdomain. com

Set-Cookie-Header enthält:

ein Name/Wert-Paar (Gemüse=Artischocke),

einen Pfad (Pfad=/) und eine Domäne (Domäne=IhreDomäne .com).

Wenn das Ablauffeld gesetzt ist, liefert es den Wert des Datums, an dem der Browser das Cookie „vergessen“ hat. Wenn das Ablaufdatum nicht festgelegt ist, läuft das Cookie ab, wenn die Benutzersitzung abläuft, d. h. wenn der Benutzer den Browser schließt.

Das Pfadfeld und das Domänenfeld arbeiten zusammen, da der Pfad ein Verzeichnis ist, in dem die Domäne gefunden wird, und das Cookie an das Verzeichnis unter diesem Verzeichnis des Servers zurückgesendet werden sollte. Wenn der Pfad „/“ ist, was ein sehr häufiger Wert ist, bedeutet dies, dass das Cookie von jeder Datei im Dokumentstammverzeichnis gelesen werden kann.

Wenn der Pfad „/products“ lautet, kann dieses Cookie nur von Dateien im /products-Verzeichnis der Website gelesen werden.

Anschließend kann ein PHP-Skript auf das Cookie zugreifen. Das Cookie befindet sich in der Umgebungsvariablen HTTP_COOKIE oder als Teil der superglobalen Variablen $_COOKIE. Der Zugriff kann auf drei Arten erfolgen:

echo $_SERVER["HTTP_COOKIE"];
echo getenv("HTTP_COOKIE");
echo $_COOKIE["vegetable"];

Einstellungen Cookie

<?php
/**
 *setcookie()函数输出一个Set-Cookie标头。它应该在任何其他内容发送给浏览器之前调用。
 *参数:cookie名字、cookie值、过期日期、路径、域、一个整数
 *如果cookie仅通过一个安全的连接发送的话,这个整数的值设为1。0表示在一个非安全的环境中发送。
 */
setcookie("vegetable","artichoke",time()+3600,"/","localhost",0);

if (isset($_COOKIE["vegetable"])){
	echo "<p>Hello again,you hava chosen:".$_COOKIE["vegetable"].".</p>";
	
}else {
	echo "<p>Hello you.This may be your first visit.</p>";
}
?> 

Die Methode zum sicheren Löschen von Cookies ruft auch die Funktion setcookie() auf und muss nur eine bestimmte abgelaufene Zeit verwenden, z. B.: time()-60.

Benutzersitzung

Die Sitzungsfunktion stellt dem Benutzer eine eindeutige Kennung zur Verfügung, die dann zum Speichern und Abrufen von mit dieser Kennung verbundenen Informationen verwendet werden kann. Wenn ein Besucher auf eine sitzungsfähige Seite zugreift, wird entweder eine neue Kennung zugewiesen oder der Benutzer wird erneut mit einer Kennung verknüpft, die bereits bei einem vorherigen Besuch festgelegt wurde. Alle Variablen, die bereits mit der Sitzung verknüpft sind, werden Ihrem Code über die superglobale Variable $_SESSION zur Verfügung gestellt. Der Sitzungsstatus wird normalerweise in einer temporären Datei gespeichert, obwohl Sie die Datenbankspeicherung mithilfe einer Funktion namens session_set_save_handler() implementieren können.

Starten Sie eine Sitzung, geben Sie die ID zurück und speichern Sie Variablen als session1.php.

<?php
session_start();
echo "<p>Your session ID is ".session_id().".</p>";
$_SESSION["product1"] = "Sonic Screwdriver";
$_SESSION["product2"] = "HAL 2000";
echo "The products have been registered.";
?>

Um auf die gespeicherten Sitzungsvariablen zuzugreifen, verwenden Sie die Funktion session_save_path(), um zu überprüfen, wo die temporäre Datei im System gespeichert ist, und speichern Sie sie als session2.php.

<?php
session_start();
echo "Your chosen products are:";
echo "<ul>";
echo "<li>".$_SESSION["product1"]."</li>";
echo "<li>".$_SESSION["product2"]."</li>";
echo "</ul>";
echo session_save_path();
?>

Zuerst auf session1.php auf dem Server zugreifen, die Ergebnisse sind wie folgt:

Dann auf session2.php auf dem Server zugreifen, die Ergebnisse lauten wie folgt:

Suchen Sie sess_curdcq4agn11gq4fdj4bq2kj33 in diesem Pfad, öffnen Sie es mit Notepad und Sie können sehen, wie die registrierten Variablen gespeichert werden.

Wenn ein Wert in die superglobale Variable $_SESSION eingefügt wird, schreibt PHP den Variablennamen und -wert in eine Datei. Diese Informationen können gelesen und die Variable später wiederhergestellt werden. Wenn wir diese Variable zur superglobalen Variablen $_SESSION hinzufügen, können Sie ihren Wert jederzeit während der Skriptausführung ändern. Dieser geänderte Wert wird jedoch erst dann in den globalen Einstellungen widergespiegelt, wenn die Variable der superglobalen Variablen $_SESSION zugewiesen wird .

  • Verwendung von Cookies und Benutzersitzungen
  • Größe: 130,8 KB
  • Verwendung von Cookies und Benutzersitzungen
  • Größe: 129,8 KB
  • Verwendung von Cookies und Benutzersitzungen
  • Größe: 22,1 KB
  • Bildanhang anzeigen

Das Obige stellt die Verwendung von Cookies und Benutzersitzungen vor, einschließlich inhaltlicher Aspekte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn