2

我在http://example.com上有一个登录页面;上面有一个 ajax 登录栏,它将用户的登录信息发送到服务器,接收身份验证响应,并将其显示给用户。

这种方法的问题在于,用户登录信息以明文形式发送到服务器,没有 SSL 加密。但是,当对https://example.com执行相同的 POST 请求时,NGINX 会以 401 Unauthorized 响应。

我们可以通过哪些方式使用https://example.com/user_api作为授权 URL?

非常感谢!

4

1 回答 1

0

你真的应该为整个网站使用 https,包括登录页面。不允许常规 http。如果你这样做,你遇到的问题就会消失。

即使登录页面上没有敏感数据,您也应该对整个站点使用 https 的原因是加密通信只是 SSL 的一半。另一半(这对于保护您的用户同样重要)是服务器的标识。当使用 https 检索站点时,通过检查其证书来验证远程服务器的标识,该证书使用其私钥签名。此证书已针对受信任的第三方进行验证,因此用户知道他们确实在与您的服务器通话。

如果您不对整个站点使用 https,那么恶意服务器就可以轻松冒充您的站点并获取用户的凭据。更好的是,由于这种设计,他们可以将您的用户登录到您的应用程序并将他们转发到正确的页面,没有人更聪明!

另一个原因是,当大团队在开发 Web 应用程序时,很容易有人不小心创建了一个应该安全但使用 http 的页面。这可能是一个很大的安全漏洞。

请考虑重新设计以将 https 用于您的整个网站。这是更多的前期工作,但安全性的回报是巨大的。

于 2013-03-24T15:07:19.420 回答