PHP 应用后台模块SessionCookieToken身份验证唯一性
#
身份验证
-Cookie
使用
生成
cookie
的原理图过程:见图
1
、客户端向服务器发送
HTTP
请求。
2
、服务器检查请求头中是否包含
cookie
信息。
3
、如果请求头中包含
cookie
信息,则服务器使用该
cookie
来识别客户端,否则服务
器将生成一个新的
cookie
。
4
、服务器在响应头中设置
cookie
信息并将其发送回客户端。
5
、客户端接收响应并将
cookie
保存在本地。
6
、当客户端发送下一次
HTTP
请求时,它会将
cookie
信息附加到请求头中。
7
、服务器收到请求并检查
cookie
的有效性。
8
、如果
cookie
有效,则服务器响应请求。否则,服务器可能会要求客户端重新登录。
setcookie():
设置一个
cookie
并发送到客户端浏览器。
unset():
用于删除指定的
cookie
。
#
身份验证
-Session
使用(存储在服务器中)
1
、客户端向服务器发送
HTTP
请求。
2
、服务器为客户端生成一个唯一的
session ID
,并将其存储在服务器端的存储器中
(如文件、数据库等)。
3
、服务器将生成的
session ID
作为一个
cookie
发送给客户端。
4
、客户端将
session ID
保存为一个
cookie
,通常是在本地浏览器中存储。
5
、当客户端在发送下一次
HTTP
请求时,它会将该
cookie
信息附加到请求头中,以便
服务器可以通过该
session ID
来识别客户端。
6
、服务器使用
session ID
来检索存储在服务器端存储器中的与该客户端相关的
session
数据,从而在客户端和服务器之间共享数据。
session_start():
启动会话,用于开始或恢复一个已经存在的会话。
$_SESSION:
用于存储和访问当前会话中的所有变量。
session_destroy():
销毁当前会话中的所有数据。
session_unset():
释放当前会话中的所有变量。
Session
存储路径:
PHP.INI
中
session.save_path
设置路径
session存储时间短
所以一般存储重要数据用session 不敏感数据用cookie
cookie通过js访问 session通过服务器
#唯一性判断
-Token
使用
1
、生成
Token
并将其存储在
Session
2
、生成
Token
并将其绑定在
Cookie
触发
3
、尝试登录表单中带入
Token
验证逻辑
4
、思考
Token
安全特性
要csrf_token和token相同才能成功访问