我有一個擁有自己的登錄系統的CakePHP網站。在同一臺服務器(但不同的文件夾)中,我有一個WordPress的博客。一個已經登錄到CakePHP網站的用戶可以點擊一個鏈接,將他帶到WP博客並同時登錄到博客。所有這些都很完美。當離開網站並回到它時,會話被破壞
返回原始CakePHP網站時出現問題。如果我在博客中插入一個鏈接到該網站並且用戶點擊它,他將被帶到網站,但是他的會話丟失了,這意味着他必須重新登錄。
有什麼辦法可以防止這種情況發生?即使用戶離開網站,該會話是否仍然有效?這並不是它到期,我已經設置爲30分鐘。
即使用戶沒有通過網站中的鏈接訪問博客,也會發生這種情況。如果我登錄到網站,然後打開一個新標籤並進入博客(甚至沒有登錄),然後單擊鏈接到網站,網站中的會話就會丟失。那麼,實際上有一個新的會話(我一直在打印會話ID,它會改變)。
關於如何保持會話打開的任何想法都是有用的。
此外,爲了以防萬一,這裏是我用來登錄用戶從網站到博客腳本:
$sid = $_GET['sid'];
session_id($sid);
session_start();
if (isset($_SESSION['Auth']['User']['username'])) {
require('../blog/wp-blog-header.php'); //includes wordpress functions
$username = $_SESSION['Auth']['User']['username'];
$user = get_userdatabylogin($username);
wp_set_current_user($user->ID);
wp_set_auth_cookie($user->ID);
}
header("Location: http://myblog.com/"); //Redirect user to the blog
安全級別設置在您的config/core.php文件中'Security.level' –
確保會話在您的博客中全局啓用 –
感謝您的回覆。我在'medium'有'Security.level'。如何避免「referer」檢查?另外,如何在博客中啓用全球會話? – Albert