4
我在網站上使用CORS。CORS與PHP會話
代碼示例:
header("Access-Control-Allow-Origin: *");
session_start();
$session_id = session_id();
此代碼工作正常,但它每次都返回一個新的會話ID。
如何在這種情況下維護會話數據?
我在網站上使用CORS。CORS與PHP會話
代碼示例:
header("Access-Control-Allow-Origin: *");
session_start();
$session_id = session_id();
此代碼工作正常,但它每次都返回一個新的會話ID。
如何在這種情況下維護會話數據?
雖然您允許使用Access-Control-Allow-Origin
標頭從外部域進行訪問,但會話本身是基於cookie的。
如果發出請求的腳本是從外部域傳遞的,它將無法讀取cookie並將其傳遞到您的服務器。
解決方案:從與AJAX服務相同的上下文(即相同的協議/域/端口)發送進行調用的JS。還要確保cookie本身不限於不同的子域或路徑。
不要嘗試通過POST或GET請求傳遞會話標識符,這會使您的應用程序容易受到CSRF的影響。
順便說一句,將允許的原點設置爲*
也是不鼓勵的,因爲它也可以用於XSS/CSRF,並與其他技術結合使用。請限制對第三方域的請求。
最後但並非最不重要的,您可能還想通過HTTP OPTIONS查看預檢請求的主題。