2009-11-04 73 views
3

非常簡單的問題: 我在我的web項目中有管理網站。那麼,我怎樣才能讓它安全?如何使管理網站安全?

我直到現在:

  • 數據庫處理與用戶ID和用戶級
  • 在管理主網頁(包括所有管理網站)的頁面加載有檢查,如果用戶ID是一個從句用戶好(得到數據庫的用戶),如果用戶級是正確
  • 如果沒有,重定向與正常的母版頁
  • 如果是到Default.aspx的,去trought

它真的有多安全?


編輯:

  • 的用戶ID保存在服務器上的會話。
  • 沒有辦法保存登錄(沒有cookies)。
  • 用戶必須登錄才能獲取用戶標識會話
  • 登錄保存在用戶名,密碼,IP,loginsucceeded和用戶ID
+0

用戶標識如何呈現給應用程序?另外,你如何驗證用戶? – gahooa 2009-11-04 17:12:59

回答

1

基本的想法看起來不錯。這一切都取決於你如何獲得該用戶ID來進行檢查。如果用戶ID作爲查詢字符串傳遞,那麼這非常糟糕。如果它通過某種類型的預授權存儲在會話中,那麼它會更好。如果您使用SSL,IP檢查等,它會提高您的安全級別。

最主要的是如何你得到的用戶ID來驗證。這就是利用會發生的地方。確保這一過程,你應該確定你的設置。

編輯:根據您的更新,這看起來不錯,但它也取決於你真正需要這種安全。你登錄頁面有多安全?你使用SSL嗎?任何憂慮會議劫持?爲什麼不使用用戶標識存儲IP,並在從會話中獲取用戶標識時,根據存儲的IP驗證請求IP?

有這麼多的安全解決方案。您需要確定您需要安全地走多遠才能確保特定應用程序所需的安全級別。

+0

我的管理網站應該儘可能安全,因爲它與客戶的真錢有關。 我現在不使用SSL,但有計劃在將來實施它。 知識產權的想法很好,謝謝。 – Kovu 2009-11-04 17:33:53

0

我們使用集成Windows身份驗證數據庫表USER_LOG。

  1. 在IIS管理器中,單擊「目錄安全性」選項卡
  2. 取消選中「匿名訪問」
  3. 檢查「集成Windows身份驗證」

這可讓您管理誰有權您的管理員通過修改域帳戶而不是使用自己的解決方案。您仍然可以通過Environment類獲取登錄用戶的憑證,該類可用於將每個想要存儲在數據庫中的用戶的任何Web特定屬性關聯起來。這也有自動處理超時的優點,如果瀏覽器已關閉,則重新登錄要求等。

雖然聽起來好像您將單個用戶帳戶添加到SQL服務器,而不是通過處理所有內容ASP.NET服務帳戶登錄。我會避免將個人用戶帳戶添加到您的數據庫中。在ASP.NET中,除非跳過一些無用的箍,否則ASP.NET服務帳戶是針對數據庫連接進行身份驗證的,而不是登錄到該網站的用戶。

+0

因爲「用戶」同時是具有大量信息和條件(電子郵件驗證,阻止和刪除(不是物理)用戶等)的「客戶」,所以我在這裏讓所有用戶處理自己的手。 – Kovu 2009-11-04 17:17:54

+0

客戶訪問管理網站?或者您是否使用您爲面向公衆的網站創建的相同認證機制? – 2009-11-04 17:25:14

+0

沒有客戶訪問管理網站。我只使用相同的認證。我使用了一個int值「userlevel」。 – Kovu 2009-11-04 17:32:39