PHP前后端session分离(一图完全理解“Cookie”和“Session”)

PHP前后端session分离(一图完全理解“Cookie”和“Session”)

大家好,感谢邀请,今天来为大家分享一下PHP前后端session分离的问题,以及和php前后端分离实例, php实现前后端分离的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,接下来就开始吧!



举个通俗的例子:

你们公司组织了一个团建活动,活动日程安排如下:

(1) 早晨大巴车出发,抵达、破冰启动,

(2) 午餐,下午进行拓展挑战后动,

(3) 晚上有总结会+特色晚宴,住宿...

第二天:早餐,表彰会,返程...

结合这次团建互动,这个Cookie就是活动中的“通行证编号”(活动中发的手环,名牌,号码贴等,粘贴或放置在你身上显著位置),持有这个标志,你就可以任意出入团建活动的各个场地了;

Session就是团建中对每位参加者的更为详细的“身份鉴别”信息,但除了前面你自己的“通信证编号”(cookie)外,这些更为详细信息并没有在你自己身上,他们掌握在活动组织者手里,如:参加者大巴车的车号,午餐桌号(领导桌),酒店房间号等,根据前面的Cookie标记(通行证号)可以从组织者查询到更为详细的用户“身份”信息。

PHP前后端session分离(一图完全理解“Cookie”和“Session”)

总结一句话,Cookie存着“参与者编号”,Session存着“参与者编号后面对应的数据”。

(不知道上面这样解释,是否可以理解)

“Cookie”和“Session”使用场景选择

存储非敏感、轻量的配置信息(如用户主题、语言偏好、是否记住登录状态);实现 “记住我” 功能(设置长期过期的 Cookie,存储加密后的用户标识);跟踪用户行为(如广告投放、页面访问统计,需遵守隐私政策)。

Session :默认存储在服务器内存,服务器重启、会话超时(如 30 分钟无操作)后,Session 数据会丢失;若存储在 Redis 等缓存中,可实现跨服务器共享(集群部署必备)。

3. 安全性的实际应用

Cookie :不可存储敏感信息(如密码、银行卡号),需加密后存储(如 Base64 加密,仅防君子不防小人)。

启动一个DVWA--php安全侧额是平台的用户登录流程来跟踪一下Cookie和Session

测试环境准备:

进入登录页面:

输入账号/密码登录后

用户访问个人中心等需要登录的页面时:

session保存

cat /var/lib/php5/sess_j2n88hffpnbl2aroj8jffd6n11

用户退出登录时:

总结核心逻辑:Cookie 管 “传递标识”,Session 管 “存储数据”,二者配合实现安全的会话管理;选择原则:非敏感、轻量、需持久化的数据用 Cookie;敏感、复杂、临时的数据用 Session;安全建议:Cookie 存储敏感信息需加密,Session 建议用 Redis 存储(支持集群、防内存溢出)。

--END--

PHP前后端session分离和php前后端分离实例, php实现前后端分离的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!

文章版权声明:除非注明,否则均为边学边练网络文章,版权归原作者所有