![](/img/trans.png)
[英]how to reset PHPSESSID cookie for different applications hosted on the same server
[英]PHPSESSID cookie - does it grant access to different websites on same server?
這是我想知道的情況。 假設我有以下幾點:
運行以下網站的php / apache網絡服務器:
/ var / www / version1ofmyapp /
/ var / www / version2ofmyapp /
cookie在用戶計算機上啟用。
登錄到version1ofmysite(從而創建一個名為PHPSESSID的cookie)是否可以使我訪問version2ofmysite? 例如,我登錄到該站點的版本1,然后將URL更改為版本2,它就讓我進入,好像我已經通過了身份驗證一樣。 我想更好地理解為什么會這樣。
謝謝。
編輯1:
同一域
cookie是為域定義的,可以為路徑定義。 因此,您可以限制Cookie的發送。
如果您有在兩個應用程序中使用的sessionID並使用相同的會話存儲,則可以訪問保存在該會話中的信息。
因此,在兩個應用程序中都使用了您已登錄的信息。 您可以更改會話的名稱(http://php.net/manual/en/function.session-name.php)以防止出現這種情況,也可以更改會話存儲(http://php.net/manual/ zh / function.session-save-path.php)
在您的php.ini文件中,您可以配置服務器以允許此操作:
session.cookie_domain = ".mydomain.com"
這將允許子域訪問cookie。
Cookie PHPSESSID僅限於創建它的域,並且只會發送到該域或子域。 如果同一台服務器上有多個域,則每個域都有一個不同的PHPSESSID cookie。
如果您使用子域,並且想在它們之間共享會話,則可以在調用session_start()之前使用session_set_cookie_params($ lifetime_in_seconds,'/','.mydomain.com'),以便在所有子域之間共享同一會話。
Cookie的作用域是按主機名(誤稱為域),然后是名稱。 僅當兩個Cookie用於不同的域(主機)時,您才能擁有兩個名為PHPSESSID的cookie。 一個域不能有兩個名稱相同的cookie。 如果嘗試執行此操作,則視為已設置的更改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.