我正在创建一个使用HTTPS的基于API的安全web;然而,如果我允许用户配置它(包括发送密码)使用查询字符串这也将是安全的,或者我应该强制它通过POST?


当前回答

是的,只要没人越过你的肩膀看显示器。

其他回答

是的,只要没人越过你的肩膀看显示器。

是的。HTTPS会话的整个文本都由SSL保护。这包括查询和报头。在这方面,POST和GET完全相同。

至于你的方法的安全性,没有经过适当的检查,也很难说。

是的,它是。但是对敏感数据使用GET是一个坏主意,原因如下:

主要是HTTP引用泄漏(目标页面中的外部图像可能泄漏密码[1]) 密码将存储在服务器日志中(这显然很糟糕) 浏览器中的历史缓存

因此,即使Querystring是安全的,也不建议通过Querystring传输敏感数据。

虽然我需要注意的是,RFC声明,浏览器不应该发送从HTTPS到HTTP的引用。但这并不意味着糟糕的第三方浏览器工具栏或HTTPS网站的外部图像/flash不会泄露它。

我不同意关于……的说法。Slough响应中的HTTP引用泄漏(目标页面中的外部图像可能泄漏密码)。

HTTP 1.1 RFC明确声明:

客户不应包括推荐人 (非安全)HTTP中的报头字段 请求参考页是否为 通过安全协议传输。

无论如何,服务器日志和浏览器历史记录是不将敏感数据放入查询字符串的充分理由。

是的,从建立HTTPS连接的那一刻起,一切都是安全的。查询字符串(GET)作为POST通过SSL发送。