2013-03-24 63 views
1

我有http://example.com着陆页的HTTP页;具有在其上的Ajax登陆栏,它发送该用户的登录到服务器,接收到认证响应,并将其显示给用户。调用HTTPS的API从通过javascript

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

在哪些方面我们也许能够使用https://example.com/user_api作为授权URL?

非常感谢!

回答

1

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

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

如果不使用https为您的整个网站,你正在使平凡的恶意服务器假冒网站和收获您的用户凭据。更好的是,由于这种设计,他们可以将用户登录到您的应用程序并将其转发到正确的页面,但没有人更聪明!

另一个原因是,当大的团队在一个web应用程序的工作,很容易让别人意外地创建一个网页,应该是安全的,但使用HTTP来代替。这可能是一个很大的安全漏洞。

请考虑重新设计为您的整个网站使用https。这是更多的工作,但安全收益是巨大的。

+0

如果您的主机不允许https,该怎么办? (像我的...) – 2014-01-13 10:56:49