当前位置:网站首页>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
边栏推荐
- sprintf_ How to use s
- QQ email cannot receive the email sent by Jenkins using email extension after construction (timestamp or auth...)
- [daily question 1] write a function to judge whether a string is the string after the rotation of another string.
- Fe - eggjs combined with typeorm cannot connect to the database
- Differences between ts and JS
- Virtualenv and pipenv installation
- JS divides an array into groups of three
- Render minecraft scenes into real scenes using NVIDIA GPU
- Latex warning: citation "*****" on page y undefined on input line*
- MySQL index
猜你喜欢

由于不正常断电导致的unexpected inconsistency;RUN fsck MANUALLY问题已解决

【文献阅读与想法笔记13】 Unprocessing Images for Learned Raw Denoising

SQLI-LABS通关(less15-less17)

Pytest (1) case collection rules

table 组件指定列合并行方法

Cve - 2015 - 1635 (ms15 - 034) réplication de la vulnérabilité d'exécution de code à distance

Solve the problem of bindchange event jitter of swiper component of wechat applet

PgSQL learning notes

sqli-labs通关汇总-page3

VSCODE 安装LATEX环境,参数配置,常见问题解决
随机推荐
Latex 报错 LaTeX Error: The font size command \normalsize is not defined问题解决
20210306 reprint how to make TextEdit have background pictures
Queue (linear structure)
Warp shuffle in CUDA
Review of reflection topics
SQLI-LABS通关(less6-less14)
UEditor .Net版本任意文件上传漏洞复现
Cve-2015-1635 (ms15-034) Remote Code Execution Vulnerability recurrence
selenium+msedgedriver+edge浏览器安装驱动的坑
DeprecationWarning: . ix is deprecated. Please use. loc for label based indexing or. iloc for positi
In depth study of JVM bottom layer (V): class loading mechanism
PXC high availability cluster summary
Promise中有resolve和无resolve的代码执行顺序
apt命令报证书错误 Certificate verification failed: The certificate is NOT trusted
[Zhang San learns C language] - deeply understand data storage
Kotlin - verify whether the time format is yyyy MM DD hh:mm:ss
sqli-labs通关汇总-page3
Linux MySQL 5.6.51 community generic installation tutorial
The win10 network icon disappears, and the network icon turns gray. Open the network and set the flash back to solve the problem
SQLI-LABS通关(less15-less17)