2011-03-01 21 views
0

我是新來的cookie。但我想我可能在我的PHP代碼中犯了一些錯誤。在登錄過程中,我有一個驗證登錄腳本來驗證用戶。如果用戶通過該腳本,腳本會自動設置一個cookie,setcookie("userid", $row["profileId"], time() + 24*3600*14);,腳本也會將用戶重定向到主頁面header("Location: ../../index.php");當我在Google Chrome的開發人員工具中查看網絡標籤時,我可以看到該cookie驗證腳本,請求cookie和響應cookie。但爲什麼不能看到所有其他的AJAX請求?我根本找不到cookie,我做錯了什麼?我知道我做了一些常見的陷阱通過AJAX調用檢索Cookie的條件

我可以檢索的唯一Cookie是會話cookie。我需要在php中使用$_COOKIE來檢索cookie。我使用localhost作爲域

+0

無論問題是什麼,您都不依賴於此cookie進行用戶驗證,對吧?這將是一個主要的安全漏洞,因爲cookie可以在客戶端設置。如果設置cookie {userid:1}爲用戶提供管理權限,請再考慮一下您的方法。 – Andrea 2011-03-01 15:04:52

回答

-1
+0

我不告訴他們在服務器端設置它們在客戶端。我已經瞭解到,在w3schools – einstein 2011-03-01 11:17:46

+0

他們仍然是客戶端,所以如果你想用js訪問他們,做一些像上面不是ajax – dogmatic69 2011-03-01 11:53:21

+0

但我需要在服務器端訪問它們。所以我必須首先在JavaScript文檔中檢索它們,然後將它們作爲AJAX調用發送到標題中?我如何完成,我還沒有找到任何好的教程 – einstein 2011-03-01 12:01:55

0

Cookies是全自動的。你不需要在js中抓取它們來發送它們。 ajax調用會在請求中自動發送它們,甚至可以通過響應設置更多。但是你必須在同一個域上才能工作。爲了安全起見,禁用跨域cookie。