2014-01-22 102 views
-1

我對使用$ .Post $ .Ajax的XMLHttpRequest有一些疑問:XMLHttpRequest安全性?

1-服務器端如何驗證請求是否來自同一瀏覽器?

2-服務器端如何驗證發送請求的會話用戶是否已在同一瀏覽器上更改? (例如:用戶註銷和另一個用戶在同一瀏覽器上登錄)

3-我是否需要服務器端的#1和#2的任何特殊設置或PHP代碼?

也請給我一個關於任何有關XMLHttpRequest的安全問題的良好文檔的鏈接。

感謝

回答

3
  1. 瀏覽器和服務器使用cookie來檢查請求是否發自同一瀏覽器。每個請求都會附上Cookie。

  2. 關於會話的基本思想很簡單。無論何時向服務器發送請求,會話變量(如果存在)都將與請求一起發送到服務器。 同樣,如果修改會話中的任何內容或清除會話,則響應將包含修改後的會話。由於請求和響應都包含會話,因此它們可以獨立運行。

  3. 通過在PHP中使用$ _SESSION,您將能夠檢索服務器中的會話。只需使用$ _SESSION ['userid'] ==來檢查它是否是同一個用戶。

我明白你是一個PHP人,但看看node.js請求和響應對象,以更好地瞭解會話。 此外,您可以加密服務器中的會話變量以確保安全。 Code Igniter會話庫就是一個很好的例子。

+0

是的我是PHP人,我沒有強大的Javascript背景。使用$ .post時會默認發送會話和cookie嗎?還是我需要任何特殊的javascript代碼? – DeepBlue

+0

Cookie將作爲標題與您的請求一起發送。無論如何,你不必在JavaScript中使用PHP來訪問它。 – nightgaunt

0
  1. 它不
  2. 通過什麼機制,它使用跟蹤誰在登錄任何其他類型的請求(想必在會話中的數據在服務器端應用程序商店將改變)
  3. 沒有