【问题标题】:How to enhance HTTP authentication security?如何增强HTTP认证的安全性?
【发布时间】:2014-09-03 17:29:08
【问题描述】:

我的一些漂亮的 Rails 应用程序可以正常工作,而且一切都很轻松、平静。我想保护现在的方式感觉错误的一小部分 - 我的登录过程,我使用带有远程选项的 form_tag 来发送文本和密码字段的内容出于显而易见的原因使用 POST。

简单地通过 HTTP 发送密码让我觉得很脏。从我可以看到的地方,我有以下选择:

  1. 学会忍受它并希望最好
  2. 学习一些很棒的东西,让我的控制器通过 rails-helper-i-dunno-about 技巧变魔术
  3. 构建一个在 HTTPS 上运行的单独应用程序,让生活回到原点。
  4. 使用 JavaScript 加密

不知何故,我认为我最好的选择是 4 - JavaScript 加密。 但是,如果用户输入他/她的密码并使用服务器生成的部分加密,它应该是安全的(关于解决通过 HTTP 以纯文本形式发送的问题)并解决我的问题.但在 Rails 方面,要让它发挥作用,就是在我的数据库中保留(是的,我还有很多东西要涵盖)纯密码。

我需要一些帮助 - 一些指示。

【问题讨论】:

标签: javascript jquery security ruby-on-rails-4


【解决方案1】:

为什么您不应该使用选项 4:错误地实施某些东西并将您的用户置于风险之中的风险比使用已经存在的东西时要高得多。

您应该采取的做法是:通过 https 传输用户数据来保护您的数据。放

config.force_ssl = true

进入config/environment/production.rb,你准备好了。 (然后告诉网络服务器合适的证书在哪里……)

【讨论】:

  • 这不是让所有流量都加密吗:S包括不需要身份验证的部分?
  • 是的,但是……谁在乎呢?无论如何,大多数网站都在慢慢迁移到这种行为(例如 Facebook)。我几乎看不到将 HTTPS 限制在您网站的特定部分的理由。如果您只想保护单个控制器,可以查看this answer
  • 谢谢!该评论有我正在寻找的答案!
猜你喜欢
  • 2011-02-14
  • 2012-05-12
  • 1970-01-01
  • 2010-11-03
  • 2012-01-26
  • 1970-01-01
  • 2017-06-16
  • 2011-02-20
相关资源
最近更新 更多