我构建了一个通过 https 提供的服务。
我想知道当数据“通过网络”时,在 curl 选项 CURLOPT_USERPWD 中传输的密码(或任何特定 key )是否安全?
最佳答案
所有通过 HTTPS 发送的数据都是加密的。这意味着服务器和客户端之间的任何人非常都很难(但并非不可能)查看请求的原始数据。
如果您想完全了解使用 HTTP 基本身份验证的潜在后果,您应该完全了解 how it works .
由于 HTTP 是纯文本协议(protocol),因此非常不安全。 HTTPS 只是使用 encrypted socket 的 HTTP - 这意味着请求/响应格式本身是完全不变的。如果您可以查看请求的纯文本版本,则可以从中收集您喜欢的任何信息。但是,使用 SSL/TLS 很难查看纯文本版本。
HTTP Basic 身份验证本质上容易受到中间人攻击,因此永远不要在未加密的连接上使用,但使用 HTTPS 可以使其相当安全。唯一的考虑是服务器将能够以纯文本形式查看密码 - 如果您不希望这种情况发生,您应该使用 Digest auth 、HTTPS 或其他方式。
关于php - CURLOPT_USERPWD 数据在通过 ssl 传输时是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8506070/