Maison  >  Article  >  développement back-end  >  Encodage et décodage de session PHP

Encodage et décodage de session PHP

WBOY
WBOYavant
2024-02-28 08:55:20526parcourir

L'éditeur PHP Zimo vous propose une analyse détaillée de l'encodage et du décodage des sessions PHP. Dans le développement Web, l’encodage et le décodage de session constituent une partie très importante, qui implique la transmission et le stockage sécurisés des données. Une compréhension approfondie du mécanisme d'encodage et de décodage de session PHP peut aider les développeurs à mieux protéger les données des utilisateurs et à améliorer la sécurité des sites Web. Cet article vous présentera les principes, les méthodes courantes et les compétences d'application pratiques de l'encodage et du décodage de session, aidant les lecteurs à mieux comprendre les points techniques du traitement de session PHP.


Démo utilisant sess<strong class="keylink">io</strong>n_encode() et session_decodesess<strong class="keylink">io</strong>n_encode()session_decode dans

php

session_encode()$_SESSION 数组数据序列化为字符串,然后 session_decode() La fonction intégrée session_encode() sérialise les $_SESSION

array

data en

string

, puis session_decode() convertit la session données à nouveau pour le format réel. test.php

Nous insérons des données via le formulaire puis les stockons dans la session :

<code>
<code class="language-php hljs" data-lang="php"><span style="display:flex;"><span><span style="color:#666"><</span><strong class="keylink">html</strong><span style="color:#666">></span>
</span></span><span style="display:flex;"><span><span style="color:#666"><</span>head<span style="color:#666">></span>
</span></span><span style="display:flex;"><span><span style="color:#666"><</span>title<span style="color:#666">></span> Demonstration of Session <span style="color:#666"></</span>title<span style="color:#666">></span>
</span></span><span style="display:flex;"><span><span style="color:#666"></</span>head<span style="color:#666">></span>
</span></span><span style="display:flex;"><span><span style="color:#666"><</span>body<span style="color:#666">></span>
</span></span><span style="display:flex;"><span><span style="color:#666"><</span>f<strong class="keylink">ORM</strong> action<span style="color:#666">=</span><span style="color:#ba2121">"action.php"</span> method<span style="color:#666">=</span><span style="color:#ba2121">"post"</span> <span style="color:#666">></span>
</span></span><span style="display:flex;"><span><span style="color:#666"><</span>div style<span style="color:#666">=</span><span style="color:#ba2121">"border: 4px solid;padding:10px; width:40%"</span><span style="color:#666">></span>
</span></span><span style="display:flex;"><span>Employee Name<span style="color:#666">:<</span>input type<span style="color:#666">=</span><span style="color:#ba2121">"text"</span> name<span style="color:#666">=</span><span style="color:#ba2121">"employee"</span><span style="color:#666">></span>
</span></span><span style="display:flex;"><span>ID<span style="color:#666">:<</span>input type<span style="color:#666">=</span><span style="color:#ba2121">"text"</span>name<span style="color:#666">=</span><span style="color:#ba2121">"id"</span><span style="color:#666">></span>
</span></span><span style="display:flex;"><span><span style="color:#666"><</span>input type<span style="color:#666">=</span><span style="color:#ba2121">"submit"</span> value<span style="color:#666">=</span><span style="color:#ba2121">"SUBMIT"</span> name<span style="color:#666">=</span><span style="color:#ba2121">"submit"</span><span style="color:#666">></span>
</span></span><span style="display:flex;"><span><span style="color:#666"></</span>div<span style="color:#666">></span>
</span></span><span style="display:flex;"><span><span style="color:#666"></</span>form<span style="color:#666">></span>
</span></span><span style="display:flex;"><span><span style="color:#666"></</span>body<span style="color:#666">></span>
</span></span><span style="display:flex;"><span><span style="color:#666"></</span>html<span style="color:#666">></span>
</span></span></code></code>

Les sessions fonctionnent comme des cookies ; une fois que nous démarrons une session et commençons à stocker des données, nous pouvons les utiliser jusqu'à ce que la session soit détruite. PHP 会话编码解码

Résultat :

; 分隔的所有会话元素。这里应该提到的是,这种序列化与 PHP serialize()

action.php La chaîne de session codée contient une différence par

.

serialize()

<code>
<code class="language-php hljs" data-lang="php"><span style="display:flex;"><span><span style="color:#666"><?</span>php
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">if</span> (isset(<span style="color:#19177c">$_POST</span>[<span style="color:#ba2121">&#39;submit&#39;</span>]))
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span><span style="color:#408080;font-style:italic">// Start the Session
</span></span></span><span style="display:flex;"><span>session_start();
</span></span><span style="display:flex;"><span><span style="color:#408080;font-style:italic">//Form Data
</span></span></span><span style="display:flex;"><span><span style="color:#19177c">$employee</span><span style="color:#666">=</span><span style="color:#19177c">$_POST</span>[<span style="color:#ba2121">&#39;employee&#39;</span>];
</span></span><span style="display:flex;"><span><span style="color:#19177c">$id</span><span style="color:#666">=</span><span style="color:#19177c">$_POST</span>[<span style="color:#ba2121">&#39;id&#39;</span>];
</span></span><span style="display:flex;"><span><span style="color:#408080;font-style:italic">//store the form data into session
</span></span></span><span style="display:flex;"><span><span style="color:#19177c">$_SESSION</span>[<span style="color:#ba2121">&#39;employee&#39;</span>]<span style="color:#666">=</span><span style="color:#19177c">$employee</span>;
</span></span><span style="display:flex;"><span><span style="color:#19177c">$_SESSION</span>[<span style="color:#ba2121">&#39;id&#39;</span>]<span style="color:#666">=</span><span style="color:#19177c">$id</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">echo</span> <span style="color:#ba2121">"According to the data from session: <br>"</span>;
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">echo</span> <span style="color:#ba2121">"Hello "</span><span style="color:#666">.</span> <span style="color:#19177c">$employee</span><span style="color:#666">.</span> <span style="color:#ba2121">"! your ID is "</span><span style="color:#666">.</span><span style="color:#19177c">$id</span><span style="color:#666">.</span><span style="color:#ba2121">"<br><br>"</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">echo</span><span style="color:#ba2121">"The encoded Session Data is: <br>"</span>;
</span></span><span style="display:flex;"><span>	<span style="color:#408080;font-style:italic">//encode the session
</span></span></span><span style="display:flex;"><span><span style="color:#19177c">$session_econded</span><span style="color:#666">=</span> session_encode();
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">echo</span> <span style="color:#19177c">$session_econded</span><span style="color:#666">.</span><span style="color:#ba2121">"<br><br>"</span>;
</span></span><span style="display:flex;"><span>	<span style="color:#408080;font-style:italic">//decode session
</span></span></span><span style="display:flex;"><span>session_decode(<span style="color:#19177c">$session_econded</span>);
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">echo</span> <span style="color:#ba2121">"Session data after decode: "</span>;
</span></span><span style="display:flex;"><span>print_r( <span style="color:#19177c">$_SESSION</span>);
</span></span><span style="display:flex;"><span>	<span style="color:#408080;font-style:italic">//Destroy the Session
</span></span></span><span style="display:flex;"><span>session_destroy();
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span><span style="color:#bc7a00">?></span><span >
</span></span></span></code></code>
Résultat : 🎜
<code>
<code class="language-text hljs" data-lang="text"><span style="display:flex;"><span>According to the data from session:
</span></span><span style="display:flex;"><span>Hello Jack! your ID is 1234
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>The encoded Session Data is:
</span></span><span style="display:flex;"><span>employee|s:4:"Jack";id|s:4:"1234";
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Session data after decode: Array ( [employee] => Jack [id] => 1234 ) 
</span></span></code></code>
🎜 Les données codées se présentent sous forme de chaîne similaire à PHP 🎜. 🎜

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
Article précédent:utiliser un mot clé en PHPArticle suivant:utiliser un mot clé en PHP