這篇文章主要介紹了http與https跨域共享session的解決方法,需要的朋友可以參考下
遇到了HTTP、HTTPS協議下session共享解決cookie失效的問題,這里提供一個臨時解決辦法。
實現原理:把session id設置到本地的cookie。
如下:
復制代碼 代碼如下:
$currentSessionID = session_id();
session_id($currentSessionID );
以下是實現代碼,分為http與https兩部分。
1,http部分:
復制代碼 代碼如下:
session_start();
$currentSessionID = session_id();
$_SESSION['testvariable'] = 'Session worked';
$secureServerDomain = 'www.jb51.net';
$securePagePath = '/safePages/securePage.php'
echo '點這里跳轉到HTTPS 協議';
?>
2,HTTPS部分
復制代碼 代碼如下:
$currentSessionID = $_GET['session'];
session_id($currentSessionID);
session_start();
if (!emptyempty($_SESSION['testvariable'])) {
echo $_SESSION['testvariable'];
} else {
echo 'Session did not work.';
}
?>
說明:
有點安全問題,session id的傳輸是沒加密的,可以嗅探偵測到,,獲取這個session id進而獲取session數據。
建議加密此id。
本文原創發布php中文網,轉載請注明出處,感謝您的尊重!