2012-04-12 57 views
0

在網站上的頁面間傳輸數據的最佳方式是什麼?例如,我登錄到這個網站,並保持登錄知道多少次我切換頁面,即使我關閉瀏覽器。這到底如何?我想通過使用cookies,但我的「M真的不知道?在網站上的頁面之間傳輸數據

謝謝!

回答

1

有兩個選項Cookie和會話

經驗法則:不信任用戶輸入Cookie是用戶輸入,cookie中存儲的會話ID是用戶輸入,http頭是用戶輸入 - 這些事情必須三重檢查另一方面,會話數據存儲在您的服務器上,所以如果不是存儲器,它或多或少是安全的編輯在/ tmp中。

會議授權最流行的設置之一是:會話ID存儲在cookie中,其他所有內容(包括密碼)都存儲在會話中。根據cookie中的id開始會話後,您應該從會話數據中獲取用戶標識,然後檢查存儲的密碼是否仍然有效。

如果設置了會話變量,用戶不能直接更改它,除非他們劫持了另一個會話cookie。

你主要需要注意的是共享主機,你的會話數據是不安全的(通常其他網站可以看到它)。

也值得注意的是,cookie數據也不安全。不應該依賴於不應依賴表單數據的相同方式(不管客戶端驗證告訴您什麼)。

你最好使用口令的做法是:

  • 儲存於散列形式,優選SHA1(首選)或MD5(第二選擇)數據庫中的密碼;
  • 當您收到用戶密碼時,請對其進行加密並根據存儲在數據庫中的內容進行檢查;
  • 在用戶會話中設置登錄用戶名;
  • 在某段時間(即使是它的日子)之後終止cookie,而不是永久持續;和
  • 如果可能,請使用安全連接(HTTPS不是HTTP)。 SSL證書很便宜。
+0

我想我明白了。所以我會: - >讓用戶登錄。 - >他們登錄時將他們的用戶名存儲在會話中。 - >將會話存儲在一個過期的cookie中。 - >正如我從頁面到頁面一樣,訪問cookie和會話以獲取用戶信息。 – NSchulze 2012-04-12 04:20:29

1

是的,你保持登錄狀態一般,因爲是存儲您的會話ID的cookie。