簡體   English   中英

PHP讀取另一個域上的cookie

[英]PHP read a cookie that is on another domain

我有兩個域名。 一個域包含登錄腳本。 它在登錄時創建一個cookie。另一個域有一個URL縮短器。

因此,在具有URL Shortener腳本的第二個域上有一個名為session.php的文件。 通常我使用$_COOKIE['sessionid']獲取會話ID並使用數據庫進行匹配。

我現在如何獲得會話ID? 我嘗試過幾種方法,但沒有一種能解決我的問題。

出於明顯的安全原因,您無法讀取屬於另一個域的cookie。 您可以跨子域執行此操作。

為什么不將會話ID附加到轉發的URL?

您是否考慮過使用SSO實施?

http://www.jasig.org/cas

http://en.wikipedia.org/wiki/Single_sign-on

我們在工作中使用它,真棒! 這意味着我們不必擔心這些類型的問題。

Cookie由瀏覽器發送,僅發送到域,Cookie已設置為。

你能做的並不多( 沒有意義;))。

但如果您的域名是兩個不同的子域(如login.yourdomain.comshortener.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM