PHP-Funktion setrawcookie(): Alles, was Sie wissen müssen
Als PHP-Entwickler müssen Sie möglicherweise Roh-Cookies für Ihre Webanwendung festlegen, um Informationen auf der Clientseite zu speichern. Die setrawcookie()-Funktion ist eine integrierte PHP-Funktion, mit der Sie ein Roh-Cookie festlegen können. Im Gegensatz zur Standardfunktion setcookie() wird der Cookie-Wert von setrawcookie() nicht URL-codiert, was sie nützlich macht, wenn Sie vorcodierte Daten oder Binärstrings speichern müssen. In diesem Artikel werfen wir einen detaillierten Blick auf die setrawcookie()-Funktion und ihre Verwendung.
Was ist die setrawcookie()-Funktion?
Die setrawcookie()-Funktion ist eine integrierte PHP-Funktion (verfügbar seit PHP 5.2.0), mit der Sie ein Roh-Cookie auf der Clientseite festlegen können. Sie gibt bei Erfolg true und bei einem Fehler false zurück.
So verwenden Sie die setrawcookie()-Funktion
Die Verwendung der setrawcookie()-Funktion ist unkompliziert. Hier ist die Syntax:
PHP-Syntax
setrawcookie($name, $value, $expire, $path, $domain, $secure, $httponly);Die Funktion akzeptiert sieben Parameter:
$name: Der Name des Cookies.$value: Der Rohwert des Cookies (nicht URL-codiert).$expire: Der Ablaufzeitpunkt als Unix-Zeitstempel.$path: Der Serverpfad, unter dem der Cookie verfügbar sein soll.$domain: Die Domain, unter der der Cookie verfügbar sein soll.$secure: Gibt an, ob der Cookie nur über HTTPS übertragen werden soll.$httponly: Gibt an, ob der Cookie für clientseitigen JavaScript-Code unzugänglich sein soll.
Hier ist ein Beispiel dafür, wie Sie die setrawcookie()-Funktion zum Festlegen eines Roh-Cookies verwenden können:
Beispiel
<?php
$name = "username";
$value = "john";
$expire = time() + (86400 * 30); // 30 Tage
$path = "/";
$domain = ".example.com";
$secure = true;
$httponly = true;
setrawcookie($name, $value, $expire, $path, $domain, $secure, $httponly);In diesem Beispiel verwenden wir die setrawcookie()-Funktion, um ein Roh-Cookie mit dem Namen username und dem Wert john festzulegen. Wir geben die Ablaufzeit als 30 Tage ab dem aktuellen Zeitpunkt an, den Serverpfad als / und die Domain als .example.com. Die Flags secure und httponly werden auf true gesetzt, um sicherzustellen, dass der Cookie nur über HTTPS übertragen und für clientseitigen JavaScript-Code unzugänglich ist.
setrawcookie() vs. setcookie()
Der Hauptunterschied zwischen setrawcookie() und setcookie() liegt in der Handhabung des Cookie-Werts. setcookie() codiert den Wert automatisch mit rawurlencode() URL-codiert, was für normalen Text sicher ist, aber Probleme verursachen kann, wenn Sie vorcodierte Daten oder Binärstrings speichern müssen. setrawcookie() überspringt diesen Codierungsschritt und gibt Ihnen die volle Kontrolle über den Rohwert. Für die meisten Standardanwendungsfälle wird setcookie() bevorzugt, aber setrawcookie() ist unverzichtbar, wenn Sie mit bereits codierten Daten arbeiten.
Fazit
Die setrawcookie()-Funktion ist ein nützliches Werkzeug zum Festlegen von Roh-Cookies in Ihrer PHP-Webanwendung. Durch das Verständnis ihrer Syntax, Parameter und Unterschiede zu setcookie() können Sie vorcodierte Daten sicher auf der Clientseite speichern.
Praxis
Wie lautet die korrekte Verwendung der Funktion setrawcookie() in PHP?