当前位置:网站首页>Brief analysis of PHP session principle
Brief analysis of PHP session principle
2022-07-02 06:54:00 【Xu Jirong】
List of articles
Why session control is needed ?( answer :http Protocol is stateless )
The following text cannot be found , A long time ago, I copied a lot of mixed articles locally , Sorry for the original author
Everybody knows , The Internet application layer protocols we currently use are basically based on HTTP and HTTPS Of , Their ability is Stateless , Only responsible for requests and responses . We tell the server what we need , The server returns me the corresponding resources . If there is no additional treatment , The server doesn't know who you are , It's impossible to show you the content related to you according to who you are .
HTTP The initial stage of the agreement is for academic exchange , But now the Internet is more and more widely used , Forum 、 Shopping websites and so on need to record user status ,cookie、session、token emerge as the times require , Our article Combine only PHP speak session, Check the others by yourself
session working process
session working process It can be divided into the following steps :
The browser requests the website for the first time , Server generation Session ID.
Generative Session ID Save to the server storage .
Generative Session ID Back to the browser , adopt set-cookie.
Browser received Session ID, This will be brought with you the next time you send a request Session ID.
The server received a message from the browser Session ID, from Session User status store found in store , Session creation .
Subsequent requests will exchange this Session ID, Have a stateful session .
Draw a flow chart 
PHP Medium session
Let's see PHP How to create Session
<?php
// start-up session
session_start();
// Declare a admin The variable of , And assign a null value .
$_session["admin"] = null;
>
session_start()
start-up session, according to session ID open session file , If not, create a ID( This Session ID Is a unique string generated by a series of algorithms ) And corresponding session file .
session_start() The function must precede the tag
$_SESSION
Storage and retrieval session Variable
The destruction session
unset()
unset() Used to release the specified session Variable , Just clear the value , And variables still exist
session_destroy()
Cancellation session, This is closing session, And delete the corresponding session The file . Cut off the connection between the client and the server .
session_destroy() Will reset session, You will lose all the stored session data .
session Penetration test
commonly session The penetration test passes the following three aspects , I don't know if it's all , Isn't it , Brothers can correct and add
1.session Session fixation test
example : Grab the bag and check the login twice session Is it worth the same
2.session Logout test
example : Log in and get session value , After logging out , carry session Value to make a request to the server , See if you can perform login operations
3.session Timeout tests
example : Whether to log out if the page is not operated for a long time session
边栏推荐
- Flask migrate cannot detect db String() equal length change
- Fe - eggjs combined with typeorm cannot connect to the database
- Selenium+msedgedriver+edge browser installation driver pit
- VSCODE 安装LATEX环境,参数配置,常见问题解决
- Common prototype methods of JS array
- PIP install
- Vector types and variables built in CUDA
- apt命令报证书错误 Certificate verification failed: The certificate is NOT trusted
- Win10网络图标消失,网络图标变成灰色,打开网络设置闪退等问题解决
- 如何调试微信内置浏览器应用(企业号、公众号、订阅号)
猜你喜欢

SQLI-LABS通關(less6-less14)

SQLI-LABS通关(less18-less20)

Latex error: the font size command \normalsize is not defined problem solved

Pytest (1) case collection rules

Date time API details

Sentry搭建和使用

js中map和forEach的用法

Self study table Au

qq邮箱接收不到jenkins构建后使用email extension 发送的邮件(timestamp 或 auth.......)

Usage of map and foreach in JS
随机推荐
Latex参考文献引用失败 报错 LaTeX Warning: Citation “*****” on page y undefined on input line *
How to try catch statements that return promise objects in JS
Solve the problem of bindchange event jitter of swiper component of wechat applet
Cve-2015-1635 (ms15-034) Remote Code Execution Vulnerability recurrence
The use of regular expressions in JS
table 组件指定列合并行方法
js的防抖和节流
Utilisation de la carte et de foreach dans JS
Promise中有resolve和无resolve的代码执行顺序
[Zhang San learns C language] - deeply understand data storage
Explanation and application of annotation and reflection
如何调试微信内置浏览器应用(企业号、公众号、订阅号)
[daily question 1] write a function to judge whether a string is the string after the rotation of another string.
Date time API details
Uniapp introduces local fonts
js数组的常用的原型方法
In depth study of JVM bottom layer (3): garbage collector and memory allocation strategy
Usage of map and foreach in JS
js中map和forEach的用法
部署api_automation_test过程中遇到的问题