這是一個關于服務器、瀏覽器的問題,關于cookie的跨域問題我們在本文不作過多介紹,總之,為了安全起見,cookie只在特定的域名下才生效.
WordPress中也是這樣,我們可以找到WordPress內核中有關cookie的一些函數,它的參數中都要求有一個域,不過對于不同的服務器而言,可能WordPress的默認設置又有些不同.
據一些資料上顯示,WordPress的默認設置是:
define('COOKIE_DOMAIN', '.example.com');
這就是說,WordPress中的cookie在example.com及其所有子域名中都是有效的,例如你在自己的主站登錄了,然后在子域名中的這個登錄信息也同樣有效.
不過這種沒有域名限定的設置會帶來一些安全問題,例如你把子域名開放給所有用戶,部分用戶在一個子域名下設置了和另外一個子域名一模一樣的cookie(雖然這種情況比較少),就有可能造成登錄信息混亂,甚至出現你可以登錄別人的賬號的情況.
因此,很多人建議在wp-config.php中增加一句為:
define('COOKIE_DOMAIN', 'www.example.com');
從而讓cookie只能在這個域名下生效,不過有些時候我們也需要cookie在一些子域名下生效,以實現一些特殊要求,這種情況一般你完全掌控自己的這些子域名,并且這些子域名使用同一個數據庫,不至于出現上面說的串線問題.
新聞熱點
疑難解答
圖片精選