2012-12-13 79 views
1

作爲一個更廣泛的問題,我想問一下當前確保網站登錄的最佳策略是什麼。我知道所有的基礎知識,比如醃製密碼,散列密碼以及使用SSL加密傳輸,但我覺得這可能並不總是足夠的。那裏最好的「防黑客」方法是什麼?如何正確保護登錄?

回答

1

您的積分已經是最重要的,另外,你可以這樣做:

  1. 使用像BCrypt這樣的密鑰派生函數來散列密碼。
  2. X-Frame-Options添加到登錄頁面的HTTP標題中,以便頁面無法顯示在iframe中。這可以幫助防止點擊劫持。在PHP中,這看起來像這樣:header('X-Frame-Options: DENY');
  3. Content-Security-Policy添加到您登錄頁面的HTTP標頭中。如果瀏覽器支持CSP,這可以有效防範跨站點腳本。在PHP中,它看起來像這樣:header("X-Content-Security-Policy: allow 'self'");
  4. 重新生成登錄頁面上的會話ID,使會話修復更加困難。
  5. 對整個站點使用HTTPS,這可以避免很多問題。如果您需要在HTTPS和HTTP之間切換,請使用單獨的Cookie進行身份驗證,請查看此example
  6. 如果您的網站只有HTTPS,那麼您可以添加HTTP嚴格傳輸安全標題。 HSTS可以防止用戶(已經訪問過您的網站一次)從調用不安全的HTTP頁面。這可以幫助防止SSL-strip。
+0

非常有趣,我喜歡你的觀點 – Twisterz