如何增强HTTP身份验证的安全性



我的一些漂亮的rails应用程序正在运行,一切都很轻松和平静。我想保护觉得现在做得不对的一小部分——我的登录过程,在这个过程中,我使用带有远程选项的form_tag来发送文本和密码字段的内容,原因很明显,我使用POST。

通过HTTP直接发送密码让我觉得很肮脏。从我可以看到的地方,我有以下选项:

  1. 学会接受它并抱着最好的希望
  2. 学习一些很棒的东西,让我的控制器通过rails-helper-i-dunno-关于技巧
  3. 构建一个在HTTPS上运行的独立应用程序,通过回到原点让生活变成人间地狱
  4. 使用JavaScript加密

不知怎么的,我认为我最好的选择是4-JavaScript加密。然而,如果用户输入了他/她的密码,并用服务器生成的部分对其进行了加密,那么它应该是安全的(就解决通过HTTP以纯文本发送密码的问题而言),我想这也解决了我的问题。但在铁路方面,要做到这一点,就要在我的数据库中保留(是的,我还有很多事情要做)普通密码。

我需要一些帮助——一些建议。

为什么不应该使用选项4:错误地实现某些东西并使用户面临风险的风险比使用已经存在的东西要高得多。

相反,你应该做的是:通过https传输用户数据,从而保护用户数据的安全。放入

config.force_ssl = true

进入config/environment/production.rb,您就可以出发了。(好吧,告诉Web服务器适当的证书在哪里…)

最新更新