2010-09-24 49 views

回答

2

你可以做這樣的事情:

$name = session_name("name"); 
session_set_cookie_params(0, '/', 'domain.com'); 
session_start(); 

更多信息,請參見session_set_cookie_params

2

假設你的意思域是something.comsomeothersite.com,然後配置兩個網站使用相同的目錄爲自己的會話文件,然後就在會話ID釘到站點之間的聯繫(/tmp):

http://something.com?sessionID=session_id_from_someothersite.com 
http://someothersite.com?sessionID=session_id_from_something.com 

然後在每次檢查該參數時加載會話處理代碼並加載它。

但是,以純文本URL傳遞會話ID非常不安全。這就是會話固定攻擊變得微不足道的原因。稍微更安全的方法是在每臺服務器上使用POST表單以「登錄」其他域並將會話ID作爲參數傳遞。或者更好的是,傳遞加密的一次性使用令牌而不是會話ID。

如果你爲他們服務作爲同父域(siteA.example.comsiteB.example.com)的單獨的子域,只需配置都設置在example.com他們的會話cookie,它會在兩個站點之間共享。

相關問題