我一直试图解决这个问题,但是没有找到任何对我的特定情况有用的答案。
我有一个非常基本的HTML页面,作为我制作的webapp的前端。所述页面上有两种形式 - 一种用于注册帐户,另一种用现有帐户登录。我们的想法是,如果您注册或登录,您将获得实际的网络应用程序。
目前,我有这个工作,但表单内容会在提交时显示在URL中。这既不好看(因为webapp网址变为url.com/?username=user&password=pass
而不仅仅是url.com
),而且也不安全,因为任何旁观者都能清楚地看到用户名/密码是什么。
我尝试使用jquery表单来改为使用ajax提交,我已成功地在我的服务器上查看并处理此请求,但在将新的HTML页面返回给客户端后,浏览器不再加载此新的页。我知道jquery / ajax是(至少部分地)在网页中启用交互功能而不必刷新整个内容,但有没有办法用它来实现这样的事情?
或者,是否有人对我如何实现目标有任何其他想法?
另外,为了确保 - 如果我想通过SSL(我最终做)提交此内容,我只需要更改此表单提交的URL以包含https而不是http,正确?
最好,谢谢,萨米
答案 0 :(得分:2)
使用POST
方法代替GET
,当您使用GET
时,表单值在查询字符串中可见
When should I use GET or POST method? What's the difference between them?
答案 1 :(得分:2)
使用post
{} {}提交您的表单
get
使用POST进行破坏性操作,例如创建(我知道讽刺),编辑和删除,因为您无法在浏览器的地址栏中点击POST操作。如果允许某人呼叫某个动作是安全的,请使用GET。所以像这样的网址:
http://myblog.org/admin/posts/delete/357
应该带您进入确认页面,而不是简单地删除该项目。以这种方式避免事故要容易得多。
POST也比GET更安全,因为您没有将信息粘贴到URL中。因此,使用GET作为收集密码或其他敏感信息的HTML表单的方法并不是最好的选择。
最后一点:POST可以传输比GET更多的信息。我不记得每个的确切限制,但优势是显着的。
答案 2 :(得分:1)
使用POST
方法而不是GET
答案 3 :(得分:0)
通常,对任何具有副作用的请求使用POST,例如更新数据库或从已注销更改为已登录。当你想要的只是检索页面时使用GET。
由于POST的实现方式,URL中不会出现任何参数。