php 經過設置session_name 實現控制贊成空間內控制多個項目,還有不少其餘應用啦

<p>1、在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

2、如何應用呢 
方法一、可經過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了。
相關文章
相關標籤/搜索