2010-04-11 28 views
0

快速是/否 - 我正在構建一個AJAX應用程序,一些腳本需要驗證。如果通過XHR調用PHP腳本,是否可以在服務器上讀取$_COOKIE['username']$_COOKIE['password'],無論是$.get()還是$.post()

旁邊的問題:它也可以設置cookie嗎?這是否被認爲是「良好做法」?

+0

使用PHP和Firebug檢查會不會更快? – 2010-04-11 02:45:21

+0

不是特別的。我還沒有真正建立網站。這需要更多的時間。不是我很懶惰,但我不想編碼,只是爲了讓它在最後一秒失敗。 – 2010-04-11 02:47:41

回答

1

Cookies是在頭的HTTP請求發送。不管什麼樣的請求(即GET/POST /等),只要它使用HTTP協議(或HTTPS),那麼可以使用cookie標頭。這是一條雙向的街道... Cookie在標題中發送到服務器(Cookie:標題),服務器在標題中設置Cookie(Set-Cookie:標題)。

這意味着Ajax/XHR請求很好,因爲它們只是核心HTTP請求。現代瀏覽器都會發送cookie以及Ajax請求,並因此而兌現任何傳入的cookie。這意味着對於您接收PHP腳本,如果有可用的話,$_COOKIE將包含正常的cookies。

+0

很好的答案和解釋。 – 2010-04-11 03:38:01

1

是的。它們將通過HTTP請求標頭進入與cookie的域匹配的所有請求。

您可以依靠這些請求的PHP會話和cookie變量。

您可以設置cookie以及(我們這樣做對我們網站的阿賈克斯登錄表單)。我不認爲它在技術上或哲學上都有問題。

相關問題