【问题标题】:Is encrypting AJAX calls for authentication possible with jQuery?是否可以使用 jQuery 加密 AJAX 调用以进行身份​​验证?
【发布时间】:2010-09-13 23:12:35
【问题描述】:

我对 AJAX 方法还很陌生(不久前我才发现jQuery)。我很想知道是否有在 PHP 设置上验证用户的方法;安全。

jQuery 是否有任何特殊选项允许使用 HTTPS(或任何其他方式来加密我的 ajax 调用)?

是的,我完全可以将数据发回服务器,但这会破坏乐趣。 :)

【问题讨论】:

    标签: php jquery ajax security https


    【解决方案1】:

    要通过 HTTPS 使用 Ajax,您必须通过 HTTPS 加载原始页面。

    Same origin policy

    所以,从某种意义上说,是的——但不是靠它自己。

    【讨论】:

    • “虽然由于同源策略无法直接向网站查询数据,但
    • 将脚本标签与 JSON 结合使用是 JSONP。您在 ajax 请求中提供了一个 javascript 回调方法(作为字符串)。然后服务器返回 JSON 响应作为此回调函数的参数。 west-wind.com/Weblog/posts/107136.aspx。 JSONP 不使用 XmlHTTPRequest
    • 感谢JSONP的解释。这是否证明最初的海报是正确的?
    • 如果登录框是 http 页面上的弹出窗口——主页或站点的任何部分。我需要让它使用 https 进行 ajax 登录调用,但除非整个站点都被加密,否则我不能这样做?太可笑了……
    • @Ihnz — 如果您将安全内容加载到不安全的页面中,您将失去安全性。不安全的页面可能会受到中间人攻击,该攻击会注入代码以从安全页面中窃取数据。如果您想要安全性,请使用 SSL,并继续使用它。不要使用 Ajax,将网站的整个使用切换到安全连接。除了前面提到的中间人攻击之外,切换出安全模式会使您受到Firesheep 风格的攻击。唯一可笑的是在不使用 SSL 时期望获得安全性
    【解决方案2】:

    好吧,如果你感兴趣的话。有AES JavaScript implementation。我玩得很开心:)。不过,这可能有点棘手......

    【讨论】:

    • 虽然它不是直接回答有关加密 ajax 调用的问题,但它是一个有用的链接。
    【解决方案3】:

    除非 jQuery 已经这样做了(我使用 MooTools,所以我不知道)我强烈建议您通过在查询字符串中使用 $_GET 变量将 AJAX 登录链接到 PHP 会话。这样,即使是通过 HTTPS,您仍然可以知道它与哪个会话相关联,以增加一层保护。

    【讨论】:

      猜你喜欢
      • 2017-02-20
      • 2021-11-14
      • 2012-04-30
      • 1970-01-01
      • 2019-03-07
      • 2011-07-14
      • 1970-01-01
      • 1970-01-01
      • 2022-10-24
      相关资源
      最近更新 更多