2015-01-20 147 views
0

我想密碼保護一個網頁。我想知道是否有人會批評我的方法。密碼保護網頁

匿名用戶會轉到頁面,模態會打開,要求用戶輸入密碼。我當然不會在後面顯示任何內容,以防有人決定要聰明並顯示:無;模態。

一旦用戶輸入密碼,我會重定向並保存一個隨機生成的令牌作爲cookie並檢查,以便用戶不必輸入密碼。

想知道除了個人物理訪問計算機以外是否還有任何安全問題,以及是否會有任何改進。

我知道我對某些細節還是有點含糊,所以讓我知道是否有什麼重要的東西我會在確切的實現方面拋出。

回答

0

這是一個可怕的想法。作爲cookie的密碼將在每個HTTP請求中以明文形式傳輸。有很多如何正確執行此操作的示例。我不打算詳細說明,因爲這個問題很可能會被標記出來。切勿在任何地方保存密碼。提交的密碼首先要計算一個哈希值。散列成爲密碼。

+0

不是將密碼作爲cookie,我會將令牌保存爲cookie。 – John 2015-01-20 23:17:25

+0

一個隨機生成的令牌,其長度足以存儲在db/redis中。 – John 2015-01-20 23:18:31

+1

我必須從「沒有安全系統這樣的事情,只有不安全的程度。」。你的方法可行,你正在實現類似於會話令牌的東西?我想你會在會話(存儲服務器端)上放置一個到期日期,並將會話鏈接到用戶的IP。這樣,如果我偷走了令牌,我將不得不欺騙用戶的IP來使用它。 – 2015-01-20 23:44:30

1

儘管您描述的內容可能會起作用,但一般來說,實現自己的安全性並不是一個好主意。即使您使用https來阻止令牌的嗅探,有人可能會發現您的隨機數並不是真正的隨機數,並且能夠猜出下一個數字。

您最好使用構建應用程序的框架附帶的安全功能之一。大多數框架都支持基於表單的身份驗證。它甚至可以支持使用安全令牌的基於聲明的身份驗證。

因爲你沒有提及你使用的是什麼框架,所以我不能推薦任何東西。

+0

我實際上已經有一個完整的用戶認證系統。我希望允許用戶創建一個受密碼保護的頁面。 – John 2015-01-21 19:41:26

+0

我正在使用golang。 – John 2015-01-21 19:42:45

+0

原來的問題並不清楚。你是否試圖讓用戶像創建wiki一樣創建網頁?我不熟悉Golang。 – MvdD 2015-01-21 21:51:49