PHP-Cookie (Thema)
In diesem Thema werden der Ursprung von PHP-Cookies, die Eigenschaften von PHP-Cookies, die Verwendung der PHP-Cookie-Funktion und die praktischen Anwendungsbeispiele von PHP-Cookies anhand von Bildern, Texten und Videos umfassend vorgestellt. Es ist leicht zu verstehen! Begrüßen Sie Studenten von der chinesischen PHP-Website zum Lernen!
Erstens: Was sind Cookies?
Cookies werden häufig zur Identifizierung von Benutzern verwendet.
Ein Cookie ist eine kleine Datei, die der Server auf dem Computer des Benutzers hinterlässt.
Jedes Mal, wenn derselbe Computer eine Seite über den Browser anfordert, wird das Cookie von diesem Computer gesendet.
Mit PHP können Sie Cookie-Werte erstellen und abrufen.
Empfehlungen zu verwandten Themen: php-Sitzung
II: Die Geburt von Cookie
Da das HTTP-Protokoll zustandslos ist, muss das serverseitige Geschäft zustandsbehaftet sein.
Der ursprüngliche Zweck von Cookies bestand darin, Statusinformationen im Web zu speichern, um die serverseitige Nutzung zu erleichtern.
Ermitteln Sie beispielsweise, ob der Nutzer die Website zum ersten Mal besucht. Die neueste Spezifikation ist RFC 6265, eine Spezifikation, die von zusammenarbeitenden Browserservern implementiert wird.
Drei: Das Prinzip von Cookies
Wenn Sie die Website zum ersten Mal besuchen, sendet der Browser eine Anfrage. Nachdem der Server auf die Anfrage geantwortet hat, fügt er das Cookie in die Antwort ein Bei der ersten Anfrage wird das Cookie übermittelt und der Server identifiziert den Benutzer. Natürlich kann der Server auch den Cookie-Inhalt ändern.
Vier: Cookie-Attribute
Cookie ist eine kleine Textdatei von nicht mehr als 4 KB. Sie besteht aus einem Namen (Name), einem Wert (Value) und mehreren anderen, die zur Steuerung der Cookie-Gültigkeitsdauer verwendet werden. Sicherheit und Verwendung. Eine Reihe optionaler Attribute.
Name | stellt den Namen des Cookies dar. | ||||||||||||||
Wert |
|
||||||||||||||
🎜Gibt die Website oder Domain an, die auf das Cookie zugreifen kann. 🎜🎜Der Cookie-Mechanismus folgt nicht der strengen Same-Origin-Richtlinie, die es einer Subdomain ermöglicht, das Cookie ihrer übergeordneten Domain zu setzen oder abzurufen. 🎜 | |||||||||||||||
🎜 definiert das Verzeichnis auf der Website, in dem auf das Cookie zugegriffen werden kann. 🎜 | |||||||||||||||
🎜Was ist die Gültigkeitsdauer im Bild? Browser-Cookies werden standardmäßig gespeichert. Wenn der Browser geschlossen und die Sitzung beendet wird, wird das Cookie gelöscht. 🎜 | |||||||||||||||
🎜Geben Sie an, ob das HTTPS-Sicherheitsprotokoll zum Senden von Cookies verwendet werden soll. 🎜🎜Mithilfe des HTTPS-Sicherheitsprotokolls können Cookies bei der Übertragung zwischen Browser und Webserver vor Diebstahl und Manipulation geschützt werden. Diese Methode kann auch zur Identitätsauthentifizierung von Websites verwendet werden, d. h. während der Phase des HTTPS-Verbindungsaufbaus prüft der Browser die Gültigkeit des SSL-Zertifikats der Website. 🎜 | |||||||||||||||
HttpOnly td> | wird verwendet, um zu verhindern, dass clientseitige Skripte über das Attribut document.cookie auf Cookies zugreifen. Zum Schutz beitragen Cookies können nicht durch Cross-Site-Scripting-Angriffe gestohlen oder manipuliert werden. |
Fünf: PHP-Cookie-Funktion
1. setcookie – Cookie senden
setcookie ( string $name [, string $value = "" [, int $expire = 0 [, string $path = "" [, string $domain = "" [, bool $secure = false [, bool $httponly = false ]]]]]] ) : bool
setcookie() definiert das Cookie und wird zusammen mit den verbleibenden HTTP-Headern an den Client gesendet.
Wie andere HTTP-Header müssen Cookies gesendet werden, bevor das Skript eine Ausgabe erzeugen kann (aufgrund von Protokolleinschränkungen).
Bitte rufen Sie diese Funktion auf, bevor Sie eine Ausgabe erzeugen (einschließlich und
oder Leerzeichen).Sobald das Cookie gesetzt ist, können Sie es mit $_COOKIE lesen, wenn Sie die Seite das nächste Mal öffnen.
Cookie-Wert existiert auch in $_REQUEST.
Parameter
Parameter | Beschreibung | ||||||||||||||||
name | Cookie-Name. | ||||||||||||||||
value |
| ||||||||||||||||
🎜Cookie-Ablaufzeit. 🎜🎜Dies ist ein Unix-Zeitstempel, die Anzahl der Sekunden seit der Unix-Epoche. 🎜🎜Mit anderen Worten, Sie können grundsätzlich das Ergebnis der Funktion time() plus die Anzahl der Sekunden verwenden, die ablaufen sollen. 🎜 | |||||||||||||||||
🎜Cookie Gültiger Serverpfad. 🎜🎜Wenn es auf „/“ gesetzt ist, ist das Cookie für die gesamte Domainnamen-Domain gültig. 🎜🎜Wenn es auf „/foo/“ gesetzt ist, ist das Cookie nur für das Verzeichnis /foo/ und seine Unterverzeichnisse in der Domäne gültig. 🎜🎜Der Standardwert ist das aktuelle Verzeichnis, wenn das Cookie gesetzt wird. 🎜 | |||||||||||||||||
🎜 Gültiger Domain-/Subdomainname für Cookie. 🎜🎜Legen Sie es als Subdomain-Namen fest, wodurch das Cookie für diesen Subdomain-Namen und seinen Domänennamen der dritten Ebene gültig wird. 🎜🎜Um das Cookie für den gesamten Domainnamen gültig zu machen, setzen Sie es einfach auf den Domainnamen. 🎜 | |||||||||||||||||
secure td> | 🎜Legen Sie fest, ob dieses Cookie nur über sichere HTTPS-Verbindungen an den Client weitergegeben wird. 🎜🎜Bei der Einstellung TRUE wird das Cookie nur gesetzt, wenn eine sichere Verbindung besteht. 🎜🎜Wenn diese Anforderung serverseitig erfüllt wird, müssen Programmierer solche Cookies nur über sichere Verbindungen senden. 🎜 | ||||||||||||||||
httponly td> | 🎜Auf TRUE gesetzt, kann auf das Cookie nur über das HTTP-Protokoll zugegriffen werden. 🎜🎜Das bedeutet, dass über Skriptsprachen wie JavaScript nicht auf Cookies zugegriffen werden kann. 🎜🎜Um Identitätsdiebstahl bei XSS-Angriffen effektiv zu reduzieren, wird die Verwendung dieser Einstellung empfohlen, allerdings ist diese Aussage oft umstritten. 🎜 |
返回值
如果在调用本函数以前就产生了输出,setcookie() 会调用失败并返回 FALSE。
如果 setcookie() 成功运行,返回 TRUE。
示例
<?php $value = 'something from somewhere'; setcookie("TestCookie", $value); setcookie("TestCookie", $value, time()+3600); /* 1 小时过期 */ setcookie("TestCookie", $value, time()+3600, "/~rasmus/", "example.com", 1); ?>
2、setrawcookie — 发送未经 URL 编码的 cookie
setrawcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] ) : bool
setrawcookie() 和 setcookie() 非常相似,唯一不同之处是发送到浏览器的 cookie 值没有自动经过 URL 编码(urlencode)。
六:PHP Cookie 简单示例
1、基本操作
<?php //添加Cookie setcookie('username', 'phpcn', time() + 3600); //获取Cookie $username = $_COOKIE['username']; //删除Cookie setcookie('username', '', time() - 3600); //修改Cookie setcookie('username', 'phpcn-updated', time() + 3600); ?>
2、面向过程封装
<?php /** * 获取 Cookie * @param string $name Cookie 名称 * @return mixed Cookie 值 */ function cookie_get($name) { return isset($_COOKIE[$name]) ? $_COOKIE[$name] : null; } /** * 删除 Cookie * @param string $name Cookie 名称 */ function cookie_del($name) { setcookie($name, '', time() - 3600); } /** * 设置Cookie * @param string $name Cookie 名称 * @param mixed $value Cookie 值 * @param integer $expire Cookie 过期时间 * @param string $path Cookie 有效路径 * @param string $domian Cookie 有效域名/子域名 */ function cookie_set($name, $value, $expire = 3600, $path = '/', $domian = '') { setcookie($name, $value, time() + $expire); } /** * 检测 Cookie * @param string $name Cookie 名称 * @param boolean $has_empty 检测为空 * @return boolean */ function cookie_has($name) { return isset($_COOKIE[$name]); } ?>
3、面向对象封装
<?php class Cookie { const OPTION_EXPIRE = 'expire'; const OPTION_PATH = 'path'; const OPTION_DOMAIN = 'domain'; const OPTION_SECURE = 'secure'; const OPTION_HTTPONLY = 'httponly'; /** * Cookie 实例 * @var null */ private static $instance = null; /** * Cookie 选项 * @var array */ private $options = [ self::OPTION_EXPIRE => 3600, self::OPTION_PATH => '/', self::OPTION_DOMAIN => 'domain', self::OPTION_SECURE => false, self::OPTION_HTTPONLY => false ]; /** * Cookie constructor. * @param $options */ private function __construct($options) { $this->setOptions($options); } /** * privated __clone */ private function __clone() { } /** * 获取实例 * @param $options * @return Cookie|null */ public static function getInstance($options) { if (is_null(self::$instance)) { self::$instance = new self($options); } return self::$instance; } /** * 设置选项 * @param $name * @param $value */ public function setOption($name, $value) { if (isset($this->options[$name])) { $this->options[$name] = $value; } throw new InvalidArgumentException('Cookie option not exists:{$name}'); } /** * 设置多个选项 * @param $options */ public function setOptions($options) { foreach ($options as $name => $value) { $this->setOption($name, $value); } } /** * 设置 Cookie * @param $name * @param $value * @param array $options */ public function set($name, $value, $options = []) { $this->setOptions($options); if (is_array($value) || is_object($value)) { $value = json_encode($value); } setcookie( $name, $value, $this->options[self::OPTION_EXPIRE], $this->options[self::OPTION_PATH], $this->options[self::OPTION_DOMAIN], $this->options[self::OPTION_SECURE], $this->options[self::OPTION_HTTPONLY] ); } /** * 获取 Cookie * @param $name * @return array|mixed */ public function get($name) { $value = $_COOKIE[$name]; if (is_array($value)) { $arr=[]; foreach ($value as $k => $v) { $arr[$k] = substr($v, 0,1) == '{' ? json_decode($value) : $v; } return $arr; } else { return substr($value, 0,1) == '{' ? json_decode($value) : $value; } } /** * 删除 Cookie * @param $name * @param array $options */ public function del($name, $options = []) { $this->setOptions($options); $value = $_COOKIE[$name]; if ($value) { if (is_array($value)) { foreach ($value as $k => $v) { setcookie( $name . '[' . $k . ']', '', time() - 3600, $this->options[self::OPTION_EXPIRE], $this->options[self::OPTION_PATH], $this->options[self::OPTION_DOMAIN], $this->options[self::OPTION_SECURE], $this->options[self::OPTION_HTTPONLY] ); unset($v); } }else{ setcookie( $name, '', time() - 3600, $this->options[self::OPTION_EXPIRE], $this->options[self::OPTION_PATH], $this->options[self::OPTION_DOMAIN], $this->options[self::OPTION_SECURE], $this->options[self::OPTION_HTTPONLY] ); unset($value); } } } }
4、记住登录账号示例
<?php function cookie_get_username() { return isset($_COOKIE['username']) ? $_COOKIE['username'] : null; } function cookie_get_password() { return isset($_COOKIE['username']) ? $_COOKIE['username'] : null; } function cookie_get_remember() { return isset($_COOKIE['remember']) ? 'checked' : null; } if ($_SERVER['REQUEST_METHOD'] === 'POST') { $username = $_POST['username']; $password = $_POST['password']; if (isset($_POST['remember']) && $_POST['remember'] === '1') { setcookie('username', $username, time() + 3600); setcookie('password', $password, time() + 3600); setcookie('remember', '1', time() + 3600); } else { setcookie('username', '', time() - 3600); setcookie('password', '', time() - 3600); setcookie('remember', '', time() - 3600); } die('登录成功!'); } ?> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <form action="" method="post"> <table width="300" border="1" align="center" cellpadding="5" cellspacing="5"> <thead> <tr> <td colspan="2" align="center"><b>登录</b></td> </tr> </thead> <tr align="center"> <td>用 户 名</td> <td><input type="text" name="username" value="<?=cookie_get_username()?>"></td> </tr> <tr align="center"> <td>密码</td> <td><input type="password" name="password" value="<?=cookie_get_password()?>"></td> </tr> <tr align="center"> <td>记住账号</td> <td> <input type="checkbox" name="remember" value="1" <?=cookie_get_remember()?>> </td> </tr> <tr align="center"> <td colspan="2"><input type="submit" name="Submit" value="提交" /></td> </tr> </table> </form>
六:php cookie 精选技术文章
6. PHP会话控制:cookie和session区别与用法深入理解
9. JS读取PHP中设置的中文cookie时出现乱码怎么办
10. ThinkPHP6.0:Session和Cookie机制的变化
七:php cookie 相关视频教程
1. PHP中cookie怎么记录及删除变量?(图文+视频)
2. PHP cookie实现记录用户登陆信息的方法(图文+视频)

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Viele Windows-Benutzer sind kürzlich auf einen ungewöhnlichen Fehler namens „Roblox 403 Forbidden Error“ gestoßen, als sie versuchten, im Google Chrome-Browser auf Website-URLs zuzugreifen. Selbst nach mehrmaligem Neustart der Chrome-App können sie nichts tun. Für diesen Fehler kann es mehrere mögliche Ursachen geben, von denen wir einige unten aufgeführt und aufgeführt haben. Browserverlauf und anderer Cache von Chrome sowie beschädigte Daten. Instabile Internetverbindung. Falsche Website-URLs. Von Drittanbietern installierte Erweiterungen. Nach Berücksichtigung aller oben genannten Aspekte haben wir einige Korrekturen zusammengestellt, die Benutzern bei der Lösung dieses Problems helfen können. Wenn Sie auf dasselbe Problem stoßen, sehen Sie sich die Lösungen in diesem Artikel an. Lösung 1

Cookies werden normalerweise im Cookie-Ordner des Browsers gespeichert. Wenn Sie die Cookie-Datei direkt öffnen, wird möglicherweise ein verstümmelter oder unleserlicher Inhalt angezeigt. Verwenden Sie daher am besten die von Ihrem Browser bereitgestellte Cookie-Verwaltungsoberfläche zum Anzeigen und Verwalten von Cookies.

Cookies auf Ihrem Computer werden je nach verwendetem Browser und Betriebssystem an bestimmten Orten in Ihrem Browser gespeichert: 1. Google Chrome, gespeichert unter C:\Benutzer\IhrBenutzername\AppData\Local\Google\Chrome\User Data\Default \Cookies usw.

Cookies auf dem Mobiltelefon werden in der Browseranwendung des Mobilgeräts gespeichert: 1. Auf iOS-Geräten werden Cookies unter Einstellungen -> Safari -> Erweitert -> Website-Daten des Safari-Browsers gespeichert. 2. Auf Android-Geräten werden Cookies gespeichert in Einstellungen -> Site-Einstellungen -> Cookies des Chrome-Browsers usw.

Das Funktionsprinzip von Cookies besteht darin, dass der Server Cookies sendet, der Browser Cookies speichert und der Browser Cookies verarbeitet und speichert. Detaillierte Einführung: 1. Der Server sendet ein Cookie und der Server sendet einen HTTP-Antwortheader mit dem Cookie an den Browser. Dieses Cookie enthält einige Informationen, wie z. B. die Identitätsauthentifizierung des Benutzers, Präferenzen oder den Inhalt des Warenkorbs. Nachdem der Browser dieses Cookie erhalten hat, wird es auf dem Computer des Benutzers gespeichert. 2. Der Browser speichert Cookies usw.

Mit der Popularität des Internets ist die Verwendung von Browsern zum Surfen im Internet zu einer Lebensweise geworden. Bei der täglichen Verwendung von Browsern stoßen wir häufig auf Situationen, in denen wir Kontokennwörter eingeben müssen, z. B. beim Online-Shopping, bei sozialen Netzwerken, bei E-Mails usw. Diese Informationen müssen vom Browser aufgezeichnet werden, damit sie bei Ihrem nächsten Besuch nicht erneut eingegeben werden müssen. Was sind Cookies? Bei einem Cookie handelt es sich um eine kleine Datendatei, die vom Server an den Browser des Benutzers gesendet und lokal gespeichert wird. Sie enthält das Benutzerverhalten einiger Websites.

Zu den Auswirkungen des Löschens von Cookies gehören das Zurücksetzen von Personalisierungseinstellungen und -präferenzen, die Beeinträchtigung des Werbeerlebnisses sowie die Zerstörung von Anmeldestatus- und Passwortspeicherfunktionen. Detaillierte Einführung: 1. Wenn Cookies gelöscht werden, wird der Warenkorb auf leer zurückgesetzt und Produkte müssen erneut hinzugefügt werden. Das Löschen von Cookies führt auch dazu, dass der Anmeldestatus auf der Social-Media-Plattform verloren geht Geben Sie den Benutzernamen und das Passwort erneut ein. 2. Dies wirkt sich auf das Werbeerlebnis aus. Wenn die Cookies gelöscht werden, kann die Website unsere Interessen und Präferenzen nicht erkennen und zeigt irrelevante Anzeigen usw. an.

Zu den Gefahren von Cookie-Lecks gehören der Diebstahl persönlicher Identitätsinformationen, die Verfolgung des persönlichen Online-Verhaltens und der Diebstahl von Konten. Detaillierte Einführung: 1. Persönliche Identitätsinformationen wie Name, E-Mail-Adresse, Telefonnummer usw. wurden gestohlen. Diese Informationen können von Kriminellen für illegale Aktivitäten wie Identitätsdiebstahl und Betrug verwendet werden. 2. Persönliches Online-Verhalten wird verfolgt und mithilfe von Cookies analysiert werden, können Kriminelle mehr über den Browserverlauf, die Einkaufspräferenzen, Hobbys usw. des Benutzers erfahren. 3. Das Konto wird gestohlen, indem die Anmeldebestätigung umgangen wird und direkt auf das Konto des Benutzers zugegriffen wird.