GET/POST参数是否加密


Are GET / POST params encrypted?

在POST或GET请求中将密码/用户名传递到外部服务器的安全性如何?

我将使用PHP/CURL,我还有第二个关于安全的难题。

我们也会考虑其他方案!

如果使用没有SSL加密的HTTP,则所有内容都以明文形式传输,其中包括完整的URL、HTTP请求/响应标头以及POST请求和响应的正文。

如果您在GET参数中放置密码,它将额外显示在地址栏中,很可能会保存在浏览器历史记录、代理服务器日志中,并在referrer标头中发送到其他网站。在POST正文或标准Authorization标头中发送密码可以避免这个明显的问题,但对于可以探查或代理您的流量的观察者来说,它仍然是可见的。

摘要式身份验证避免了以明文形式传输密码,并且只有不可重用的签名才会暴露给外部观察者。它仍然容易受到中间人的攻击;请参阅HTTP摘要式身份验证与SSL。

正确的解决方案是使用SSL证书并专门使用HTTPS。这样做时,URL字符串、HTTP头和POST主体都会被加密,浏览器会验证没有第三方在在中间操作服务器。在这种情况下,HTTP基本身份验证是允许的。

他们自己,不一定。一般来说,除了查询之外,您不应该使用GET,因为它们可以存储在用户的浏览器上。POST使用库加密相对容易,因为您不应该实现自己的加密。

此外,如果您获得SSL,这将有所帮助。如果您使用HTTPS(而不是HTTP),那么它将更加安全。

你没有提供太多关于页面是什么的细节(阅读:语言),所以我真的不能推荐一个好的加密库,但只要谷歌一下,我相信你会找到一些东西的。