PHP 应用&后台模块&Session&Cookie&Token&身份验证&唯一性
有效,则服务器响应请求。否则,服务器可能会要求客户端重新登录。来检索存储在服务器端存储器中的与该客户端相关的。启动会话,用于开始或恢复一个已经存在的会话。数据,从而在客户端和服务器之间共享数据。用于存储和访问当前会话中的所有变量。,并将其存储在服务器端的存储器中。、服务器为客户端生成一个唯一的。、服务器检查请求头中是否包含。,通常是在本地浏览器中存储。销毁当前会话中的所有数据。释放当前会话中的所有
·
#身份验证-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相同才能成功访问
更多推荐
所有评论(0)