铁轨' form_tag 帮助程序不使用 HTTPS 提交?
我想使用 HTTPS 保护我的 Rails 应用程序的登录表单。经过一番艰苦的努力,我现在已经安装了 SSL 证书并正确设置了 Apache/Passenger。
我的应用程序使用 SSL 要求 和 RESTful 身份验证 组合用于登录表单。我注意到使用 Firebug 时登录凭据仍然以明文形式发送。如何让 Rails form_tag
帮助程序通过 HTTPS 提交表单?我在文档中看不到任何关于此的内容。
编辑:我做了更多研究并编辑了我的路由文件,以便会话控制器使用 HTTPS:
map.resource :session, :controller => 'session',
:only => [:new, :create, :destroy],
:requirements => { :protocol => 'https' }
我还更改了登录表单以使用 session_url
而不是 session_path< /code>:
<% form_tag session_url do %>
.
.
.
<% end %>
—这是正确使用完整的 https:// URL 作为生成的 form
元素的 action
,但我仍然可以使用以下方式嗅探用户名和密码萤火虫。这是怎么回事?!
谢谢。
I want to protect the login form of my Rails application using HTTPS. After a bit of a uphill struggle I now have the SSL certificate installed and Apache/Passenger set up correctly.
My application uses SSL Requirement and RESTful Authentication in combination for the login form. I've noticed using Firebug that the login credentials are still sent in the clear. How can I make the Rails form_tag
helper submit the form over HTTPS? I couldn't see anything about this in the docs.
EDIT: I did some more research and edited my routes file so that the session controller uses HTTPS:
map.resource :session, :controller => 'session',
:only => [:new, :create, :destroy],
:requirements => { :protocol => 'https' }
I also changed the login form to use session_url
instead of session_path
:
<% form_tag session_url do %>
.
.
.
<% end %>
—This is correctly using a full https:// URL as the action
for the generated form
element, but I can still sniff the user name and password using Firebug. What's going on?!
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
由于 Firebug 是 Firefox 内部的扩展,因此它可能会在加密之前看到请求数据。如果您想正确测试这一点,您应该使用 Firefox 之外的工具。
Since Firebug is an extension inside Firefox it probably sees the request data before it gets encrypted. If you want to test this properly you should use a tool outside of Firefox.