php - 使用 PHP cURL 在开源应用程序上安装 ssl

标签 php security ssl curl

我正在开发一个开源 PHP 应用程序。该应用程序可能需要连接到我的服务器,以传输敏感数据。我的服务器上安装了 SSL,我想我已经正确设置了它,但我希望这里有人可以确认。

该应用程序将在其他用户的服务器上使用,因此它将是服务器到服务器的通信。

当连接到我的服务器时,我会将用户服务器视为客户端。我的服务器永远不会连接到他们的服务器,所以他们不需要 SSL(对吗?)。

我使用 cURL 在连接期间进行调用(到我的服务器)和 POST 数据。所以我 cURL 到一个 https 地址。

现在我认为就是这样。一旦我 curl 了一个 https 地址,一切都是安全的。我可以安全地发送任何我喜欢的东西(信用卡号、密码等),而不用担心中间人。故事结束。

但是在仔细阅读之后,我注意到有些人在他们的 cURL session 中做其他事情——比如包含证书(.crt 文件):

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_CAINFO, getcwd() . "/CAcerts/BuiltinObjectToken-EquifaxSecureCA.crt");

开源安全吗?我也应该这样做吗?或者我对我所拥有的东西安全吗?

最佳答案

根据您安装 cURL 的系统,它可能有也可能没有足够的信息来验证 SSL 证书(这可以通过将中间证书和根证书链接到您的网站证书来改进)。您也可以在这里阅读:http://curl.haxx.se/docs/sslcerts.html

有时明确地发送一个包是有意义的,特别是因为 cURL 往往与旧的证书包一起发送。您可以在此处下载更新的版本(取自 Firefox 源代码):http://curl.haxx.se/docs/caextract.html

如果您的软件只与您自己的服务器通信,您也可以发布一个仅包含您自己的公共(public)证书的 bundle 。这将允许您使用免费的自签名证书:)

关于php - 使用 PHP cURL 在开源应用程序上安装 ssl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10666848/

相关文章:

excel - 将 Microsoft DataGrid 等 ActiveX 控件添加到 Excel 工作表时出现 "Cannot insert object"错误

security - 如何使用 Selenium 进行安全测试?

apache - 为 XAMPP 配置 SSL

ssl - 将 http 重定向到 https haproxy 使用 ssl passthrough

php - Laravel [QUERY] 如何从表 1 中选择条件必须满足表 2 和表 3 的内容

php - HTTP_USER_AGENT 和 HTTP_X_USER_AGENT 有什么区别?

php - 您应该采取哪些步骤来加速 SimpleTest?

PHP Socket Accept_Connection 挂起

javascript - Res.cookie 与 document.cookie,它们在安全性方面有什么优势吗?

ios - 适用于 iOS 的 Visual Studio 远程构建失败并出现错误 : self signed certificate in certificate chain