我想让登录过程更安全。为了实现它,我正在考虑开始使用 https。我以前从未使用过它。
现在在主页用户看到登录链接,并且div
登录表单已经与主页一起加载。用户单击登录链接并立即看到 LoginForm。在表单的操作属性中,我将把 url 从htts
. 所以我的问题是:这些用户名和密码是否会通过受保护的协议发送出去?
PS我没有注册证书,所以大多数现代浏览器实际上都会显示有关风险的页面......那么每个人通常如何解决这些问题?
我想让登录过程更安全。为了实现它,我正在考虑开始使用 https。我以前从未使用过它。
现在在主页用户看到登录链接,并且div
登录表单已经与主页一起加载。用户单击登录链接并立即看到 LoginForm。在表单的操作属性中,我将把 url 从htts
. 所以我的问题是:这些用户名和密码是否会通过受保护的协议发送出去?
PS我没有注册证书,所以大多数现代浏览器实际上都会显示有关风险的页面......那么每个人通常如何解决这些问题?
用户的登录详细信息将被加密发送,但由于您的主页未使用 HTTPS,用户将看不到预期的挂锁符号,并且可能对使用该表单保持警惕。
换句话说:如果不使用View source
,用户就无法知道您的表单是否安全。
做你正在做的事情的唯一完全安全和明显的方法是提供通过 HTTPS 提供登录表单的任何页面,例如。通过重定向http://mysite.com
到https://mysite.com
. Twitter 就是一个这样做的网站的例子。
整个 HTTP 请求都将被加密,包括标头和查询参数(此答案中的更多详细信息)。
但是,您还应该确保登录页面使用 HTTPS。HTTPS 提供的安全性的一个要点是只有客户端才能真正检查它:用户必须首先通过用户界面查看它的使用情况。您将在此 OWASP 规则中找到更多详细信息(以及在此之前对类似问题的回答中)。
至于关于您的证书的浏览器警告:您需要从大多数浏览器认可的 CA 获得证书。
最好的方法是始终强制使用 HTTPS,而不仅仅是登录和之后,这通常可以通过网络服务器配置来完成(你没有提到你正在使用哪个网络服务器)。
您将需要一个由受信任的证书颁发机构颁发的证书,这通常需要花钱,但也有免费的证书——例如由StartSSL(我与他们没有任何关系)。