【问题标题】:Calling HTTPS APIs from HTTP pages via javascript通过 javascript 从 HTTP 页面调用 HTTPS API
【发布时间】:2013-03-13 20:02:52
【问题描述】:

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

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

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

非常感谢!

【问题讨论】:

    标签: php javascript security https authorization


    【解决方案1】:

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

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

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

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

    请考虑重新设计以将 https 用于您的整个网站。前期工作较多,但安全收益巨大。

    【讨论】:

    • 如果您的主机不允许 https 怎么办? (就像我的......)
    猜你喜欢
    • 2016-11-23
    • 2011-01-07
    • 2014-08-28
    • 2011-01-21
    • 2010-11-04
    • 1970-01-01
    • 1970-01-01
    • 2015-11-29
    • 2015-07-21
    相关资源
    最近更新 更多