2009年10月19日 星期一

跨網域狀態傳遞(使用者認證)

在PHP所寫的程式中,因為Http是無狀態的請求,往往許需要藉助cookie或session來記錄使用者資訊
基於安全性考量,PHP預設cookie的使用範圍只能在網站本身的網域使用如(aaa.omusico.net),如果
想要在(bbb.omusico.net)上也能讀到那支cookie也能紀錄的狀態,setcookie ("TestCookie", "", time() - 3600, "/", ".omusico.net", 1);可以將cookie的domain指定到更上一層。

如果要在跨網域中共用session,要注意Session是存在於server所以兩台主機間必須共享存Session的
檔案空間並在PHP.INI中修改session儲存位置,或是使用mencache、fastdht甚至是facebook貢獻的hive

PS:修改php.ini 內 session.use_cookies將1設定改為0將會使用網址傳遞

沒有留言: