【发布时间】:2009-09-07 11:24:51
【问题描述】:
我想使用 HTTPS 保护我的 Rails 应用程序的登录表单。经过一番艰苦的努力,我现在已经安装了 SSL 证书并正确设置了 Apache/Passenger。
我的应用程序将SSL Requirement 和RESTful Authentication 组合用于登录表单。我注意到使用 Firebug 时,登录凭据仍然是明文发送的。如何让 Rails form_tag 助手通过 HTTPS 提交表单?我在文档中看不到任何关于此的内容。
编辑:我做了更多研究并编辑了我的路由文件,以便会话控制器使用 HTTPS:
map.resource :session, :controller => 'session',
:only => [:new, :create, :destroy],
:requirements => { :protocol => 'https' }
我还将登录表单更改为使用session_url 而不是session_path:
<% form_tag session_url do %>
.
.
.
<% end %>
——这正确地使用了完整的 https:// URL 作为生成的 action 元素的 form 元素,但我仍然可以使用 Firebug 嗅探用户名和密码。怎么回事?!
谢谢。
【问题讨论】:
标签: ruby-on-rails ssl https