第119讲 session③-购物车 cookie 禁用后 如何使用session session防用户非法登陆

第119讲 session③-购物车 cookie 禁用后 如何使用session session防用户非法登陆

如上demo示例代码

视频上代码是这么撸的
第119讲 session③-购物车 cookie 禁用后 如何使用session session防用户非法登陆

注意 session 操作过程中 如果禁用cookie 那么 如上代码 购买一次生成一次session 也就是说 一个人购买的 几本书分别存在不同的session里边 这就很逆天了。。会取不出来的。想啊 每次生成一个session 如果不出意外应该是一本都看不到,因为浏览器根本就没有携带cookie没有携带cookie就意味着没有session_id,没有session_id哪里还能取得到数据呢。那么值钱购买存储的就很尴尬了。(释义 一个会话里边不能共用一个session文件了。)

禁用cookie的话 浏览器跳转过程中就没办法带着cookie走了 ,不记得了看 第 118 讲 里边有 从浏览器截取的 http协议流程 可以很清晰的看到。带不了cookie往下走 而代码这边又开始了session_start();那么就很尴尬了。每次生成一个。 当用户禁用了cookie之后,服务器每次session_start()都会创建一个全新的session文件,后果就是无法让多个页面php去共享一份session文件。

进而产生如下问题 加入用户禁用了cookie ,又想用这种session功能 , 那么 思考怎么搞。

如何解决?从cookie session http协议入手解决问题

视频上是如此解决的。 手动取出session_id到处带着走
第119讲 session③-购物车 cookie 禁用后 如何使用session session防用户非法登陆

如下图每次手动设置session_id

第119讲 session③-购物车 cookie 禁用后 如何使用session session防用户非法登陆

禁用cookie太麻烦。还是别禁用了。如果用户禁用那么弹窗提示用户开启cookie

如果用户禁用了cookie 注意 php自身有提供 一个 大写的SID作为session_id,

如下图这般执行

第119讲 session③-购物车 cookie 禁用后 如何使用session session防用户非法登陆
这个方案相对于上边那个简单点。

禁用cookie之后更简单的方法

session.use_trans_sid boolean session.use_trans_sid 指定是否启用透明 SID 支持。默认为 0(禁用)。

Note: 基于 URL 的会话管理比基于 cookie 的会话管理有更多安全风险。例如用户有可能通过 email 将一个包含有效的会话 ID 的 URL 发给他的朋友,或者用户总是有可能在收藏夹中存有一个包含会话 ID 的 URL 来以同样的会话 ID 去访问站点。

如上 设为 1 之后 浏览器不用管 直接接收就好 系统默认帮浏览器加上了。

总结:

第119讲 session③-购物车 cookie 禁用后 如何使用session session防用户非法登陆
如上方案 叫url重写 以此来解决cookie被禁用的尴尬

增加session登陆安全判断_isLogin_Work1.4.rar
上述代码
登陆成功保存session然后在每个界面判断是否有session信息,没有就直接跳转到登陆界面 有就走正常流程