cookie php (sujet)
Ce sujet présente de manière exhaustive l'origine du cookie php, quels sont les attributs du cookie php, l'utilisation de la fonction de cookie php et les exemples d'application pratiques du cookie php à travers des images, des textes et des vidéos. ! Bienvenue aux étudiants du site Web php chinois pour apprendre !
1 : Que sont les cookies ?
Les cookies sont souvent utilisés pour identifier les utilisateurs.
Un cookie est un petit fichier qu'un serveur dépose sur l'ordinateur d'un utilisateur.
Chaque fois que le même ordinateur demande une page via un navigateur, le cookie sera envoyé à cet ordinateur.
Avec PHP, vous pouvez créer et récupérer des valeurs de cookies.
Recommandations de sujets connexes : session php
2 : La naissance de Cookie
Le protocole HTTP étant sans état, l'activité côté serveur doit être avec état.
L'objectif initial des cookies était de stocker des informations d'état sur le Web pour faciliter l'utilisation côté serveur.
Par exemple, déterminez si l'utilisateur visite le site Web pour la première fois. La dernière spécification est la RFC 6265, qui est une spécification implémentée par des serveurs de navigateur travaillant ensemble.
3 : Principe des Cookies
Lors de votre première visite sur le site , parcourir Le serveur envoie une demande. Une fois que le serveur a répondu à la demande, il placera le cookie dans la demande de réponse. Lorsque le navigateur enverra la demande pour la deuxième fois, il apportera le cookie et le serveur identifiera l'utilisateur. Bien entendu, le serveur peut également modifier le contenu des cookies.
4 : Attributs du cookie
Le cookie est un petit morceau de données textuelles n'excédant pas 4 Ko, composé d'un nom (Nom) , une valeur (Value) et plusieurs autres attributs facultatifs utilisés pour contrôler la période de validité des cookies, la sécurité et la portée d'utilisation.
Name | représente le nom du cookie. | ||||||||||||||
|
|||||||||||||||
Spécifie le site Web ou le domaine qui peut accéder au cookie. Le mécanisme des cookies ne suit pas la politique stricte de même origine, permettant à un sous-domaine de définir ou d'obtenir le cookie de son domaine parent. | |||||||||||||||
Définit le répertoire du site Web où le cookie est accessible. | |||||||||||||||
Quelle est la période de validité ? C'est l'attribut Expires dans le fichier ? photo. Navigation générale Les cookies du navigateur sont stockés par défaut. A la fermeture du navigateur et de la fin de la session, le cookie sera supprimé. | |||||||||||||||
Spécifiez s'il faut utiliser le protocole de sécurité HTTPS pour envoyer des cookies. L'utilisation du protocole de sécurité HTTPS peut protéger les cookies contre le vol et la falsification lors de la transmission entre le navigateur et le serveur Web. Cette méthode peut également être utilisée pour l'authentification de l'identité des sites Web, c'est-à-dire que lors de la phase d'établissement de la connexion HTTPS, le navigateur vérifiera la validité du certificat SSL du site Web. | |||||||||||||||
Utilisé pour empêcher les scripts clients d'accéder aux cookies via l'attribut document.cookie, utile Pour protéger les cookies contre le vol ou la falsification par des attaques de script intersite. |
5 : Fonction Cookie PHP
1. setcookie ( string $name [, string $value = "" [, int $expire = 0 [, string $path = "" [, string $domain = "" [, bool $secure = false [, bool $httponly = false ]]]]]] ) : bool
Paramètres
Paramètre | Description | nom | Nom du cookie. | ||||||||||||||
Valeur du cookie. Cette valeur est stockée sur l'ordinateur de l'utilisateur. Ne stockez pas d'informations sensibles. | |||||||||||||||||
Délai d'expiration des cookies.
| |||||||||||||||||
<🎜>Chemin de serveur valide du cookie. <🎜><🎜>Lorsqu'il est défini sur '/', le cookie est valable pour l'ensemble du domaine du nom de domaine. <🎜><🎜>S'il est défini sur '/foo/', le cookie n'est valable que pour le répertoire /foo/ et ses sous-répertoires dans le domaine. <🎜><🎜>La valeur par défaut est le répertoire actuel lorsque le cookie est défini. <🎜> | |||||||||||||||||
<🎜>Nom de domaine/sous-domaine valide pour Cookie. <🎜><🎜> est défini sur un nom de sous-domaine, ce qui rendra le cookie valide pour ce nom de sous-domaine et son nom de domaine de troisième niveau. <🎜><🎜>Pour rendre le cookie valide pour l'ensemble du nom de domaine, il suffit de le définir sur le nom de domaine. <🎜> | |||||||||||||||||
<🎜>Définissez si ce cookie est uniquement transmis aux clients via des connexions HTTPS sécurisées fin. <🎜><🎜>Lorsqu'il est défini sur TRUE, le cookie ne sera défini que lorsqu'une connexion sécurisée existe. <🎜><🎜>Si cette exigence est gérée côté serveur, les programmeurs doivent envoyer ces cookies uniquement via des connexions sécurisées. <🎜> | |||||||||||||||||
<🎜>Défini sur TRUE, le cookie n'est accessible que via HTTP protocole. <🎜><🎜>Cela signifie que les cookies ne sont pas accessibles via des langages de scripttels que JavaScript. <🎜><🎜>Pour réduire efficacement le vol d'identité lors des attaques XSS, il est recommandé d'utiliser ce paramètre, mais cette affirmation est souvent controversée. <🎜> |
返回值
如果在调用本函数以前就产生了输出,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实现记录用户登陆信息的方法(图文+视频)

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

De nombreux utilisateurs de Windows ont récemment rencontré une erreur inhabituelle appelée Roblox 403 Forbidden Error en essayant d'accéder aux URL de sites Web dans le navigateur Google Chrome. Même après avoir redémarré l'application Chrome plusieurs fois, ils n'ont rien pu faire. Cette erreur peut avoir plusieurs causes potentielles, dont certaines sont décrites et répertoriées ci-dessous. Historique de navigation et autres caches de Chrome et données corrompues Connexion Internet instable URL de sites Web incorrectes Extensions installées à partir de sources tierces Après avoir examiné tous les aspects ci-dessus, nous avons mis au point quelques correctifs qui peuvent aider les utilisateurs à résoudre ce problème. Si vous rencontrez le même problème, consultez les solutions dans cet article. Correction 1

Les cookies sur votre ordinateur sont stockés dans des emplacements spécifiques de votre navigateur, en fonction du navigateur et du système d'exploitation utilisés : 1. Google Chrome, stocké dans C:\Users\YourUsername\AppData\Local\Google\Chrome\User Data\Default \Cookies etc.

Les cookies sont généralement stockés dans le dossier cookie du navigateur. Les fichiers cookies dans le navigateur sont généralement stockés au format binaire ou SQLite. Si vous ouvrez le fichier cookie directement, vous pouvez voir du contenu tronqué ou illisible, il est donc préférable d'utiliser Utiliser. l'interface de gestion des cookies fournie par votre navigateur pour visualiser et gérer les cookies.

Les cookies sur le téléphone mobile sont stockés dans l'application de navigation de l'appareil mobile : 1. Sur les appareils iOS, les cookies sont stockés dans Paramètres -> Safari -> Avancé -> Données du site Web du navigateur Safari 2. Sur les appareils Android, les cookies sont stockés ; dans Paramètres -> Paramètres du site -> Cookies du navigateur Chrome, etc.

Le principe de fonctionnement des cookies implique que le serveur envoie des cookies, que le navigateur stocke les cookies et que le navigateur traite et stocke les cookies. Introduction détaillée : 1. Le serveur envoie un cookie et le serveur envoie un en-tête de réponse HTTP contenant le cookie au navigateur. Ce cookie contient certaines informations, telles que l'authentification de l'identité de l'utilisateur, les préférences ou le contenu du panier. Une fois que le navigateur aura reçu ce cookie, il sera stocké sur l'ordinateur de l'utilisateur. 2. Le navigateur stocke les cookies, etc.

Avec la popularité d’Internet, l’utilisation de navigateurs pour surfer sur Internet est devenue un mode de vie. Dans l'utilisation quotidienne des navigateurs, nous rencontrons souvent des situations où nous devons saisir les mots de passe de comptes, comme les achats en ligne, les réseaux sociaux, les e-mails, etc. Ces informations doivent être enregistrées par le navigateur afin qu'elles n'aient pas besoin d'être saisies à nouveau lors de votre prochaine visite. C'est alors que les cookies sont utiles. Que sont les cookies ? Le cookie fait référence à un petit fichier de données envoyé par le serveur au navigateur de l'utilisateur et stocké localement. Il contient le comportement des utilisateurs de certains sites Web.

Les dangers de la fuite de cookies incluent le vol d’informations d’identité personnelle, le suivi du comportement personnel en ligne et le vol de compte. Introduction détaillée : 1. Des informations d'identité personnelle ont été volées, telles que le nom, l'adresse e-mail, le numéro de téléphone, etc. Ces informations peuvent être utilisées par des criminels pour mener des activités illégales telles que le vol d'identité et la fraude 2. Le comportement personnel en ligne est suivi ; et analysés via des cookies. Grâce aux données du compte, les criminels peuvent connaître l'historique de navigation de l'utilisateur, ses préférences d'achat, ses loisirs, etc. 3. Le compte est volé, en contournant la vérification de connexion, en accédant directement au compte de l'utilisateur, etc.

Les effets de la suppression des cookies incluent la réinitialisation des paramètres et des préférences de personnalisation, affectant l'expérience publicitaire et la destruction du statut de connexion et des fonctions de mémorisation du mot de passe. Introduction détaillée : 1. Réinitialiser les paramètres et préférences personnalisés. Si les cookies sont effacés, le panier sera réinitialisé et les produits devront être rajoutés. La suppression des cookies entraînera également la perte du statut de connexion sur les plateformes de médias sociaux, ce qui nécessitera. ré-ajout. Entrez votre nom d'utilisateur et votre mot de passe ; 2. Cela affecte l'expérience publicitaire. Si les cookies sont effacés, le site Web ne sera pas en mesure de comprendre nos intérêts et nos préférences, et affichera des publicités non pertinentes, etc.