PHP會話和Cookie的新功能。
我有一箇舊的登錄腳本,我試圖升級到一個新的交叉子域功能。它全部用$_SESSION
而不是$_COOKIE
寫成。 (從我已經準備好的東西中,任何設置爲SESSION var的東西都不會跨越域,即使我已經爲整個域和根目錄設置了cookie參數)。
如果我做了搜索和替換爲$_SESSION
,並更改爲$_COOKIE
,我是不是將不得不做出很多語法的變化,或者說主要的操作方式相同?
PHP會話和Cookie的新功能。
我有一箇舊的登錄腳本,我試圖升級到一個新的交叉子域功能。它全部用$_SESSION
而不是$_COOKIE
寫成。 (從我已經準備好的東西中,任何設置爲SESSION var的東西都不會跨越域,即使我已經爲整個域和根目錄設置了cookie參數)。
如果我做了搜索和替換爲$_SESSION
,並更改爲$_COOKIE
,我是不是將不得不做出很多語法的變化,或者說主要的操作方式相同?
這是一個非常糟糕的主意。對所有會話相關數據使用cookie意味着您可能發佈內部數據。所以,如果你想要一個cookie isAdmin = false,那麼你就可以讓攻擊者輕鬆獲得管理員權限。同樣所有的Cookies都會在每個請求中傳輸,這也會導致更多的流量。
請注意cookie也是用setcookie()函數設置的。 $ _COOKIE通常只讀。
$_SESSION
可用於讀取和寫入會話數據。 $_COOKIE
用於閱讀。
與設置cookie的一個潛在問題是,它們必須在任何瀏覽器輸出之前使用setcookie
設置...如果$_SESSION
正在使用中或頁面渲染之後寫會話數據,這可能破壞你的代碼(因爲會話數據可以隨時設定)。
跨域會話將是一個安全漏洞,從它的聲音來看,跨域cookie在處理用戶憑證時會發生。
我遵循你所說的話。我並沒有真正存儲任何構成安全威脅的數據,只要傳遞字詞和私人信息,但更像是用戶ID和佈局信息。沒有什麼是個人的或敏感的 – Plummer
使用'__COOKIE'替換'$ _SESSION'登錄腳本可能會引入身份驗證繞過漏洞。你知道會話數據存儲在服務器端,cookie數據是所有客戶端(因此可以被篡改)? – MrCode