用户名和密码出现在URL中

时间:2014-04-01 16:13:40

标签: html ruby-on-rails

在我的rails应用程序中,我有一个这样的登录页面:

<body>  
    <form action="/my_app/homepage" method="get" class="navbar-form pull-left">
    <input name="username" type="text" class="span2">
     <input name="password" type="password" class="span2">
    <button type="submit" class="btn">Submit</button>
    </form>
</body>

当我点击Submit按钮时,它会转到/my_app/homepage,但同时它也会在地址栏中显示用户名和密码。

我做错了吗?如何避免显示用户名和&amp;密码?

2 个答案:

答案 0 :(得分:2)

这是因为FORM的Http Request方法是GET。这将始终显示URL中的表单数据。要隐藏表单数据,您需要使用POST请求。

将代码更改为以下内容:

<form action="/my_app/homepage" method="post" class="navbar-form pull-left">
  <input name="username" type="text" class="span2">
  <input name="password" type="password" class="span2">
  <button type="submit" class="btn">Submit</button>
</form>

检查method="post",您将只获得没有任何查询字符串的URL。

答案 1 :(得分:0)

GET方法会使用POST方法将表单变量附加到URL。来自W3Schools:

“POST比GET更安全,因为参数不存储在浏览器历史记录或Web服务器日志中。”此外,“数据不会显示在网址中”。

http://www.w3schools.com/tags/ref_httpmethods.asp