zoukankan      html  css  js  c++  java
  • php 通过设置session_name 实现控制同意空间内控制多个项目,还有很多其他应用啦

    <p>一、在session_start() 前设置session_name(); 
    例子: string session_name([string $name]) 
    说明: 
    PHP会话控制之如何正确设置session_name
    定义:
    string session_name([string $name])
    说明:
    在php.ini中配置为:session.name = PHPSESSID
    在请求开始的时候,会话名称会被重置并存储到session.name配置项。
    所以要想在不改变php.ini配置文件的情况下,更改session_name 必须要在 session_start()或
    session_register()之前设置session_name。
    代码演示:
    [ 先启动会话,再设置session_name]
    <?php
    /**
    * 深入理解PHP会话控制
    * User: gutops
    */
    //启动新会话
    session_start();
    //设置session_name
    session_name('PHPSESSID_NEW');
    echo session_name(); //输出为PHPSESSID_NEW
    这样sesssion_name并未改变,查看浏览器cookies name为PHPSESSID(php.ini中默认设置的session.name)
    [ 先设置session_name 再启动会话(正确的修改方式)]
    <?php
    /**
    * 深入理解PHP会话控制
    * User: gutops
    */
    session_name('PHPSESSID_NEW');
    session_start();
     
    echo session_name(); //输出为PHPSESSID_NEW
    查看浏览器cookies,可以看到name变为PHPSESSID_NEW
    
    二、如何应用呢 
    方法1、可通过token ,将session_id 存入token,每次请求带回 
    1.前端传账号密码给后端 
    
    2.后端将账号密码作处理加密生成token,并返回给前端 
    
    3.前端将token存入缓存,在每次请求时,在header或url中将token传给后端 
    
    4.将前端传来的token与数据库账号密码生成的token作比对,相等则成功。 
    
    方法2: 可在session_start();前, 通过$_COOKIE['你的session_name名称'] 来获取session_id 
    ************** 接着搞: 
    拿到session_id后,通过session_id(你的sessionid); 告诉session你要使用sessionname名字为你刚设置的session了。 
    注意设置session_id(); 必须在session_start()前,这和设置session_name()是一样的, 
    然后你var_dump($_SESSION); 就能看到你设定的session_name的所有session了。
  • 相关阅读:
    org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): 问题解决方法
    springboot入门(一)--快速搭建一个springboot框架
    SpringBoot 中常用注解@Controller/@RestController/@RequestMapping介绍
    理解Spring4.0新特性@RestController注解
    Intellij IDEA 搭建Spring Boot项目(一)
    Java checked 异常 和 RuntimeException(运行时异常)
    Java 如何抛出异常、自定义异常、手动或主动抛出异常
    微服务设计
    为什么需要API网关?
    微服务API网关
  • 原文地址:https://www.cnblogs.com/gaogaoxingxing/p/11699603.html
Copyright © 2011-2022 走看看