当前位置:网站首页>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
边栏推荐
- Flex Jiugongge layout
- Date time API details
- table 组件指定列合并行方法
- CTF three count
- 20210306 reprint how to make TextEdit have background pictures
- Functions of tensorrt
- The table component specifies the concatenation parallel method
- Deployment API_ automation_ Problems encountered during test
- SQLI-LABS通关(less18-less20)
- 浏览器滚动加载更多实现
猜你喜欢

Win10桌面图标没有办法拖动(可以选中可以打开可以删除新建等操作但是不能拖动)

如何调试微信内置浏览器应用(企业号、公众号、订阅号)

Latex compilation error I found no \bibstyle &\bibdata &\citation command

How to try catch statements that return promise objects in JS

Apt command reports certificate error certificate verification failed: the certificate is not trusted

There is no way to drag the win10 desktop icon (you can select it, open it, delete it, create it, etc., but you can't drag it)

A preliminary study on ant group G6

Sentry construction and use

Uniapp introduces local fonts

Usage of map and foreach in JS
随机推荐
部署api_automation_test过程中遇到的问题
Uniapp introduces local fonts
Selenium memo: selenium\webdriver\remote\remote_ connection. Py:374: resourcewarning: unclosed < XXXX > solution
2020-9-23 use of QT timer qtimer class.
Loops in tensorrt
Atcoder beginer contest 253 F - operations on a matrix / / tree array
Date time API details
Explanation and application of annotation and reflection
Latex error: the font size command \normalsize is not defined problem solved
Latest CUDA environment configuration (win10 + CUDA 11.6 + vs2019)
Stress test modification solution
Flex Jiugongge layout
Storage space modifier in CUDA
Improve user experience defensive programming
[daily question] - Huawei machine test 01
In depth study of JVM bottom layer (3): garbage collector and memory allocation strategy
Flask migrate cannot detect db String() equal length change
JS delete the last bit of the string
js创建一个自定义json数组
There is no way to drag the win10 desktop icon (you can select it, open it, delete it, create it, etc., but you can't drag it)