


Introduction détaillée à l'exemple de code du contrôle de session php
Aperçu
http Le protocole est apatride, et pour chaque requête, le serveur ne peut pas distinguer les utilisateurs. Le contrôle de session PHP donne à l'utilisateur une clé (une chaîne session cryptée), qui est également une preuve de l'identité de l'utilisateur, le serveur stocke la boîte (base de données, base de données mémoire ou Made using files), la boîte contient. les différentes informations variables de l'utilisateur.
Où est cette clé ?
1, url requête chaîne
2, navigateur cookie
utilisations de session php traditionnelles
<?php //page1.php 启动一个会话并注册一个变量session_start(); $_SESSION['user_var'] = "hello,codekissyoung!"; //这里的可以将$_SESSION理解为用户的箱子,实际的实现是php在服务器端生成的小文件 ?>
<?php //page2.php session_start(); echo $_SESSION['user_var']; //通过钥匙访问自己的箱子内的变量 $_SESSION['user_var'] = "bey,codekissyoung!";
<?php//page3.php 销毁钥匙,一般在用户注销时,访问page3.php文件session_start(); session_destroy();?>
Posez une question, où est la clé ? N'avez-vous pas vu l'opération consistant à donner la clé à l'utilisateur ?
Cette opération est effectuée pour nous par PHP en coulisses. Puisque vous visitez page1.php et exécutez le programme session_start();, PHP le générera en fonction de certaines conditions du moment (IP de l'utilisateur, numéro de navigateur, heure). , etc.) Une variable PHPSESSID. Une fois la réponse http renvoyée au client, ce PHPSESSID est déjà stocké dans le cookie de votre navigateur. Chaque fois que vous visitez à nouveau ce nom de domaine, le PHPSESSID sera envoyé au serveur. Ce PHPSESSID est la clé utilisateur dont je parle ici.
Encore une question, la sécurité de ce PHPSESSID, est-il facile à voler, est-il facile à falsifier, est-il facile à falsifier ?
L'utilisation de HTTPS empêche toute falsification. N'utilisez pas PHPSESSID, mais générez une clé secrète pour l'utilisateur afin d'éviter toute falsification. Quant à savoir s'il est facile de le voler, il n'y a vraiment aucune recherche à ce sujet. Par exemple, si votre ordinateur est connecté à Internet et que des pirates informatiques envahissent votre ordinateur.
Enregistrer la clé secrète générée dans le cookie du navigateur
设置cookiesetCookie('key','value',time()+3600); 删除cookiesetCookie('key','',time()-1);
Réaliser une authentification unique : partage de session
Authentification unique : partager une authentification unique entre plusieurs sous-systèmes Avec un système d'authentification utilisateur, vous pouvez accéder à tous les sous-systèmes en vous connectant à un seul endroit.
Imaginez ce scénario : supposons que les environnements php des serveurs A et B sont les mêmes. L'utilisateur a obtenu sa clé sur le serveur A, puis il a pris la clé pour accéder au serveur B. Connaît-il le serveur B ?
Evidemment non, la clé générée par le serveur A n'est pas reconnue par le serveur.
Solution : que l'utilisateur accède à A ou à B, je stocke la clé générée dans C (la même base de données ou le même système de cache). Lorsque l'utilisateur accède à nouveau à A ou à B, A et B demanderont à C : Ceci. La clé de l'utilisateur est-elle correcte ? S'il est correct, l'utilisateur peut utiliser la case stockée en A ou B.
<?php session_regenerate_id(); //重置 session 字符 $session_info=array('uid'=>$uid,'session'=>session_encrypt(session_id().time())); //下一步将,$session_info 存到 C 中
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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)

Sujets chauds

Dans ce chapitre, nous comprendrons les variables d'environnement, la configuration générale, la configuration de la base de données et la configuration de la messagerie dans CakePHP.

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

Dans ce chapitre, nous allons apprendre les sujets suivants liés au routage ?

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.
