我刚刚开始从 AspNet.Identity 的登录页面处理一个 aspx 网站。我有我的字段、用户名和密码 (textmode="Password") 和一个提交按钮 (asp:button) 像往常一样用我的代码在后面进行登录等。
我的问题是,当我的用户点击提交时,密码是如何发送到服务器的?我是否需要使用 SSL 以确保密码不会以明文形式发送?
编辑 StackOverflow 的登录页面不是通过 HTTPS - 他们(以及其他不使用 HTTPS 的站点)如何管理密码传输?
我刚刚开始从 AspNet.Identity 的登录页面处理一个 aspx 网站。我有我的字段、用户名和密码 (textmode="Password") 和一个提交按钮 (asp:button) 像往常一样用我的代码在后面进行登录等。
我的问题是,当我的用户点击提交时,密码是如何发送到服务器的?我是否需要使用 SSL 以确保密码不会以明文形式发送?
编辑 StackOverflow 的登录页面不是通过 HTTPS - 他们(以及其他不使用 HTTPS 的站点)如何管理密码传输?
主要问题是,如果有人能够监听从您的客户端到您的服务器的流量,那么他们也将能够操纵您的服务器发送给客户端的内容。这个问题使所有试图做一些 javascript 魔术来隐藏它的尝试都无效。
换句话说,目前只有 SSL 可以帮助您。
可以说从浏览器提交的所有数据都是以明文形式发送的(也就是说,浏览器本身都不会对其进行加密,当数据到达您的服务器端脚本时也不需要解密)。所有加密(如果有)都在协议级别执行。
普通 HTTP 不会加密通过它发送的任何信息,这允许进行简单的检查(中间人攻击、窃听)。另一方面,HTTPS 在原本不安全的网络上创建了一个安全通道,并且可以很好地防止上述攻击。
一个警告是GET
用于将数据发送到服务器。这些信息很容易出现在服务器日志中。
根据form
方法GET
或POST
值被发送到服务器。
默认情况下,在 asp.net 中,该form
方法是POST
在请求正文中发送的。
如果表单方法是,GET
那么它在 url 中发送。
当您使用 HTTPS 时,它channel
是安全的。但有时它可能会比HTTPS 需要一个非常慢的初始握手慢HTTP
。
一些有用的链接
http 和 https 的区别
HTTP vs HTTPS 性能