2012-03-17 55 views
0

我正在嘗試設置一個Cookie以供跨不同虛擬主機使用。類似的事情這已經要求在這裏多次:當人們說「子域」時,他們是指具有相似名稱或mod_rewrite映射的VHosts嗎?

Cookies in subdomain doesnt work

how to access cookies on subdomain

Cookies And Subdomain

Setting cookies on domain/subdomain

cross subdomain login with cookies

Cookies and subdomains

他們都提到一個'子域',但沒有一個描述那是什麼。如果我有2個的Apache虛擬主機,像這樣:

<VirtualHost *:80> 
ServerName example.com 
DocumentRoot /var/www/ 
... 
</VirtualHost> 

<VirtualHost *:80> 
ServerName home.example.com 
DocumentRoot /var/www/home/ 
... 
</VirtualHost> 

如果我登錄用戶在example.com和設置 - 並且確保在說像這樣深刻的餅乾怪物voice-- cookie中的下一個字

setcookie('id', '1234', time()+24*3600, '/', '.example.com'); 

我能得到id在home.example.com像這樣:

RewriteCond %{HTTP_COOKIE} \bid=[0-9]+\b 

或者做這些跨域的cookie只有當子域設置完全處於一個虛擬主機的工作(預可能與mod_rewrite)

回答

1

它完全基於域名。同源檢查不關心底層IP。

home.example.com可能是:

  1. 同爲example.com
  2. 不同
  3. 你的本地箱
  4. 阿子通過使用DNS僞造攻擊成立。

沒關係。它仍然是一個子域。

相關問題