Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in die Sitzungssteuerung in PHP-Interviews

Einführung in die Sitzungssteuerung in PHP-Interviews

不言
不言nach vorne
2019-02-25 09:34:083933Durchsuche

Dieser Artikel bietet Ihnen eine Einführung in die Sitzungssteuerung in PHP-Interviews. Freunde in Not können darauf verweisen.

1. Sitzung

PHP-Sitzung wird auch Sitzung genannt. Wenn PHP Session betreibt, weist der Server dem Client eine SessionID zu, wenn sich der Benutzer anmeldet oder einige erste Seiten besucht. SessionID ist eine verschlüsselte Zufallszahl, die während des Lebenszyklus der Sitzung auf dem Client gespeichert wird. Es kann in einem Cookie auf dem Computer des Benutzers gespeichert oder über eine URL über das Netzwerk übertragen werden.

Benutzer können über SessionID einige spezielle Variablen, sogenannte Sitzungsvariablen, registrieren und die Daten dieser Variablen werden auf der Serverseite gespeichert. Wenn der Client bei einer bestimmten Website-Verbindung die SessionID über ein Cookie oder eine URL finden kann, kann der Server auf die serverseitig gespeicherte Sitzungsvariable basierend auf der vom Client übergebenen SessionID zugreifen.

Der Lebenszyklus der Sitzung ist nur innerhalb einer bestimmten Website-Verbindung gültig. Wenn der Browser geschlossen wird, läuft die Sitzung automatisch ab und die zuvor registrierten Sitzungsvariablen können nicht mehr verwendet werden. Die spezifischen Verwendungsschritte lauten wie folgt:

1) Initialisieren Sie die Sitzung. Die Sitzung muss vor der Implementierung der Sitzungsfunktion initialisiert werden. Verwenden Sie die Funktion session_start(), um die Sitzung zu initialisieren.

bool session_start(void)

Diese Funktion prüft, ob die SessionID vorhanden ist. Wenn nicht, erstellen Sie eine und können über das vordefinierte Array $_SESSION darauf zugreifen. Wenn der Sitzungsstart erfolgreich ist, gibt die Funktion TRUE zurück, andernfalls FALSE. Nachdem die Sitzung gestartet wurde, können die für die Sitzung registrierten Sitzungsvariablen zur Verwendung geladen werden.
2) Sitzungsvariablen registrieren. Seit PHP 4.1 werden Sitzungsvariablen im vordefinierten Array $_SESSION gespeichert, sodass Sie eine Sitzungsvariable definieren können, indem Sie die Array-Einheit direkt definieren. Das Format ist wie folgt:

$_SESSION["键名"]="值";

Nachdem die Sitzungsvariable definiert wurde, wird sie angezeigt wird auf dem Server aufgezeichnet und der Wert dieser Variablen wird verfolgt, bis die Sitzung endet oder die Variable manuell abgemeldet wird.
3) Zugriff auf Sitzungsvariablen. Um in einem Skript auf Sitzungsvariablen zuzugreifen, starten Sie zunächst eine Sitzung mit der Funktion session_start(). Anschließend können Sie über das Array $_SESSION auf die Variable zugreifen.
4) Sitzungsvariablen zerstören. Nachdem die Sitzungsvariablen verwendet wurden, löschen Sie die registrierten Sitzungsvariablen, um die Belegung der Serverressourcen zu reduzieren. Um Sitzungsvariablen zu löschen, verwenden Sie die Funktion unset(). Das Syntaxformat lautet wie folgt:

void unset(mixed $var [, mixed $var [, $... ]])

Beschreibung: $var ist die zu zerstörende Variable, und eine oder mehrere Variablen können zerstört werden. Um alle Sitzungsvariablen auf einmal zu zerstören, verwenden Sie session_unset();.
5) Zerstöre die Sitzung. Melden Sie nach der Verwendung einer Sitzung die entsprechende Sitzungsvariable ab und rufen Sie dann die Funktion session_destroy() auf, um die Sitzung zu zerstören. Das Syntaxformat lautet wie folgt:

bool session_destroy ( void )

Diese Funktion löscht alle Daten der Sitzung, klar Geben Sie die SessionID ein und schließen Sie die Sitzung.

2. Cookies

Cookies können zum Speichern von Informationen wie Benutzername, Passwort, Anzahl der Besuche auf der Website usw. verwendet werden. Beim Besuch einer Website sendet das Cookie eine kleine Information von der HTML-Webseite an den Browser und speichert sie in Form eines Skripts auf dem Computer des Kunden.

Im Allgemeinen werden Cookies über HTTP-Header vom Server an den Browser zurückgegeben. Zunächst verwendet der Server Set Cookie Header in der Antwort, um ein Cookie zu erstellen. Der Browser fügt dann das erstellte Cookie über den Cookie-Header in die Anfrage ein und sendet es an den Server zurück, um die Browserüberprüfung abzuschließen.

Cookie-Technologie hat viele Einschränkungen, wie zum Beispiel:
1) Wenn mehrere Personen einen Computer teilen, können Cookie-Daten leicht verloren gehen.
2) Die von einer Website gespeicherten Cookie-Informationen sind begrenzt.
3) Einige Browser unterstützen keine Cookies.
4) Benutzer können Cookies deaktivieren, indem sie Browseroptionen festlegen.
Gerade aufgrund der Einschränkungen der oben genannten Cookies wird die SessionID bei der Sitzungsverwaltung normalerweise auf zwei Arten gespeichert: Cookie und URL, anstatt nur im Cookie gespeichert zu werden.

Im Einzelnen sind die Schritte zur Verwendung von Cookies wie folgt:
1) Cookie erstellen. Verwenden Sie die Funktion setcookie(), um ein Cookie in PHP zu erstellen. Das Syntaxformat lautet wie folgt:

bool setcookie(string $name [, string $value [, int $expire [, string $path [, string $domain [, bool $secure [, bool $httponly ]]]]]])

① $name: Gibt den Namen des Cookies an.
② $value: Gibt den Wert des Cookies an. Dieser Wert wird auf dem Client gespeichert, speichern Sie also keine sensiblen Daten.
③ $expire: Gibt die Zeit an, zu der das Cookie abläuft. Dies ist ein UNIX-Zeitstempel, der die Anzahl der Sekunden seit der UNIX-Epoche angibt. Die Einstellung von $expire wird im Allgemeinen durch den aktuellen Zeitstempel plus der entsprechenden Anzahl von Sekunden bestimmt. time()+1200 bedeutet beispielsweise, dass das Cookie nach 20 Minuten abläuft. Wenn es nicht gesetzt ist, läuft das Cookie nach dem Schließen des Browsers ab.
④ $path: Gibt den effektiven Pfad des Cookies auf dem Server an. Der Standardwert ist das aktuelle Verzeichnis, in dem das Cookie gesetzt ist.
⑤ $domain: Gibt den gültigen Domänennamen des Cookies auf dem Server an. Damit das Cookie beispielsweise in allen Subdomains unter dem Domainnamen example.com gültig ist, sollte dieser Parameter auf „.example.com“ gesetzt werden.

2) Zugriff auf Cookies. Mit der Funktion setcookie() erstellte Cookies werden als Einheiten eines Arrays verwendet und in der vordefinierten Variablen $_COOKIE gespeichert. Mit anderen Worten: Cookies können auch erstellt werden, indem der Array-Einheit $_COOKIE direkt Werte zugewiesen werden. Die vom $_COOKIE-Array erstellten Cookies verfallen jedoch nach Beendigung der Sitzung.

3)删除Cookie。Cookie在创建时指定了一个过期时间,如果到了过期时间,那么Cookie将自动被删除。在PHP中没有专门删除Cookie的函数。如果为了安全方面的考虑,在Cookie过期之前就想删除Cookie,那么可以使用setcookie()函数或$_COOKIE数组将已知Cookie的值设为空。
示例代码如下:

<?php
    $_COOKIE["user"]="administrator";
    setcookie("password","123456",time()+3600);
    $_COOKIE["user"]="";                    //使用$_COOKIE清除Cookie
    setcookie("password","");                //使用setcookie()函数清除Cookie
    print_r($_COOKIE);                    //输出:Array ( [user] => )
?>

Cookie和Session都是用来实现会话机制的,由于HTTP协议是无状态的,所以要想跟踪一个用户在同一个网站之间不同页面的状态,需要有一个机制,称为会话机制。

Das obige ist der detaillierte Inhalt vonEinführung in die Sitzungssteuerung in PHP-Interviews. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen