![](/img/trans.png)
[英]Cannot read cookie in Internet Explorer from PHP when script is loaded from another domain
[英]PHP read a cookie that is on another domain
我有兩個域名。 一個域包含登錄腳本。 它在登錄時創建一個cookie。另一個域有一個URL縮短器。
因此,在具有URL Shortener腳本的第二個域上有一個名為session.php的文件。 通常我使用$_COOKIE['sessionid']
獲取會話ID並使用數據庫進行匹配。
我現在如何獲得會話ID? 我嘗試過幾種方法,但沒有一種能解決我的問題。
出於明顯的安全原因,您無法讀取屬於另一個域的cookie。 您可以跨子域執行此操作。
為什么不將會話ID附加到轉發的URL?
Cookie由瀏覽器發送,僅發送到域,Cookie已設置為。
你能做的並不多( 沒有意義;))。
但如果您的域名是兩個不同的子域(如login.yourdomain.com
和shortener.yourdomain.com
),你只需要設置相應的域名,使餅干適用於所有子域。
在這種情況下,它將是.yourdomain.com
。
您可能想閱讀setcookie()
的文檔。
如果你清楚地描述你想要完成的事情,也許會更好。 可能還有另一種不涉及cookie的解決方案。
就在從登錄頁面設置cookie時,將cookie設置為整個域,就像這樣
setcookie("c","value",time()*3600*24,"/");
通過這種方式,您可以將cookie設置為整個域。
您無法從其他域讀取cookie。
雖然有幾種方法可以傳遞會話ID。 您可以搜索SO以獲取cross-domain authorization
最簡單的方法是通過查詢字符串傳遞會話ID
你不能。 Cookie綁定到單個域。 您可以在多個子域中使用cookie。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.