2013-04-05 63 views
0

在php中,根據手冊:「訪問您的網站的訪問者被分配一個唯一的ID,即所謂的會話ID,它存儲在用戶端的Cookie中或傳播到網址「。通過url傳播會話

什麼時候和爲什麼我應該更喜歡通過網址而不是cookie傳遞會話?

+0

如果您擔心用戶不傳輸cookie – Victor 2013-04-05 07:33:59

回答

0

要回答這個問題,

Cookie可以被修改(UM啊黑客攻擊),但會話不能。

+0

您的意思是通過url傳遞會話比cookie方式更安全嗎? – depz123 2013-04-05 07:34:06

+0

這真的不代表什麼。 Cookie是從服務角度的用戶輸入。當會話令牌通過cookie傳遞時,如果傳遞了錯誤的文本,則不會進行身份驗證。正確地, – Raffaele 2013-04-05 07:36:44

+0

@ user1463541。 – 2013-04-05 07:41:00

1

主要區別在於您的會話令牌可能通過引用來源發送到不同的域,但可以通過檢查來源IP地址來緩解這個問題。除此之外,Cookie以HTTP標頭髮送,URL在請求行中結束。關於安全性沒有真正的區別,因爲HTTPS對兩者都進行了加密。但是請求URL可能寫在一個日誌文件中,這是一個(非常明顯的)風險。

Cookie是傳遞會話令牌的默認處理程序,但在客戶端禁用時,您可以回退到查詢字符串中的參數。

+0

你最後一句話建議我應該通過** ** cookies和url在我的應用程序中實現會話,如果用戶禁用cookies,則使用後一種方法作爲備份。 – depz123 2013-04-05 07:39:14

+0

真的,我建議只使用cookies :)實現URL版本並不容易,你必須注意安全隱患,而且沒有人真的禁用cookie(或JavaScript btw) – Raffaele 2013-04-05 07:47:24

0

會議在網址:

  1. 這是一個相當大量的工作在 的網址,通過會話ID攜帶。
  2. 解決由cookies導致的安全問題是一小部分工作。
  3. 它只是看起來醜陋有每個URL有餅乾結束的session_id = foobar23454364634

會議:

  1. 這幾乎是沒有的工作量隨身攜帶餅乾SESSION_ID。
  2. 由於sessino cookies(XSRF)導致的安全問題,這是一項中等工作量。
  3. 網址未被修改。

您既可以選擇自己的方式,也可以讓用戶選擇。