簡體   English   中英

PHPSESSID cookie-是否授予對同一服務器上不同網站的訪問權限?

[英]PHPSESSID cookie - does it grant access to different websites on same server?

這是我想知道的情況。 假設我有以下幾點:

  1. 運行以下網站的php / apache網絡服務器:

    / var / www / version1ofmyapp /

    / var / www / version2ofmyapp /

  2. cookie在用戶計算機上啟用。

  3. Web應用程序在登錄/注銷后將數據寫入會話

登錄到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.

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