我目前正在編寫一個需要管理員登錄的小型web應用程序。由於只有一個管理員,我不願意爲它編寫一個功能完整的管理系統。但是,由於基本的HTTP登錄使用未加密的用戶名和密碼,因此在安全級別顯然不可接受。那麼是否有安全使用HTTP登錄或其他易於製作但安全的登錄方法?Rails - 安全的HTTP登錄?
回答
是的。有幾種不同的選擇。如果您正在尋找全功能的解決方案,請查看設計。
這是非常簡單,將滿足您的要求:
https://github.com/plataformatec/devise
每文檔:
數據庫可驗證:加密並存儲在數據庫中的密碼,以驗證真僞用戶在登錄時進行身份驗證。身份驗證可以通過POST請求或HTTP基本身份驗證完成。
Cancan是實現安全授權和ACL的gem。
如果您計劃防止通過Internet傳輸明文密碼,則需要使用HTTPS。
您可以使用devise來驗證您的管理員。通過設計,您可以保護控制器級別的廣告(控制器中的before_filter :authenticate_users
與您的管理頁面相關)。設計將加密和鹽你的密碼,並將其存儲在你的分貝。
爲了提高安全性,您可以添加ssl,因此用戶名和密碼都不會以明文形式傳輸。
我認爲你真正需要的是管理面板解決方案。
有兩個好的
Rails的管理https://github.com/sferik/rails_admin
ActiveAdmin http://activeadmin.info
我在不同的項目中使用這兩者,Rails的管理員更快的部署 - 開箱的(只需要運行的發電機)。 ActiveAdmin需要預先配置一些配置。
在線路上實現密碼真實安全的最簡單方法是使用HTTPS協議。
您可以通過此協議使用HTTP基本身份驗證,並執行一些簡單的操作,例如在應用程序中對用戶/密碼進行硬編碼。我已經通過將用戶/密碼放入服務器上的ENV變量來做了很多次,所以它們不會被添加到源代碼庫中。然後,我使用Rails內置的http_basic * helpers來訪問特定的控制器動作:
# Controller
class FooController < ApplicationController
http_basic_authenticate_with :name => Rails.application.config.foo_user,
:password => Rails.application.config.foo_password
def index
...
end
end
# Initializer - config/initializers/foo_auth.rb
Fooapp::Application.config.foo_user = ENV["FOO_USER"]
Fooapp::Application.config.foo_password = ENV["FOO_PASSWORD"]
我想,只要你需要,你使用像設計一個以上的用戶建議,作爲密碼管理和存儲成爲一個問題很快
- 1. Spring 3.0安全http GET登錄
- 2. php安全登錄
- 3. 登錄/ Cookie安全
- 4. 安全登錄php
- 5. Wordpress登錄安全
- 6. 安全登錄的ZK
- 7. https登錄的安全性?
- 8. 安全登錄(Java Servlet的)
- 9. 安全的Facebook登錄
- 10. PHP - 安全的MySQL登錄
- 11. 安全登錄或登錄檢查asp.net
- 12. 春季安全登錄/註銷登錄
- 13. Symfony2:安全/安全登錄和註銷
- 14. AJAX登錄安全漏洞
- 15. 進行安全登錄
- 16. 安全web登錄架構?
- 17. phpmyadmin安全登錄無根
- 18. 安全PHP登錄腳本
- 19. Facebook登錄安全(Javascript SDK)
- 20. ASP.NET登錄和安全
- 21. 在Phonegap內安全登錄
- 22. html登錄安全問題
- 23. 安全與Facebook API登錄
- 24. 自動登錄acegi安全
- 25. 用hello.js安全登錄
- 26. 登錄頁面安全性?
- 27. 春季安全登錄
- 28. 使用安全登錄PHP
- 29. 刮網站,安全登錄
- 30. Windows安全登錄表單?