PayPal cURL选项(CURLOPT_SSL_VERIFYPEER和CURLOPT_SSL_VERIFYHOST)问题

时间:2011-11-02 23:45:10

标签: php curl paypal

我从PayPal网站获得了一段代码:

// turning off the server and peer verification(TrustManager Concept).
// really paypal??? why not just include a recent cert???
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

正如你在我的评论中所看到的,我想知道为什么Paypal会禁用这些选项。

我知道(从以前的头痛:))在Windows上,cURL使用过时的证书文件。

但是我的服务器上有一个较新的certs文件,我可以使用它:

curl_setopt($ch, CURLOPT_CAINFO, 'E:\path\to\curl-ca-bundle.crt');

那么为什么PayPal会“推荐”禁用它,如果只需要使用另一个(更新的)证书文件。

这不会更安全吗?

或者我错过了什么(我很确定PayPal有足够的钱购买有效证书:p)?

2 个答案:

答案 0 :(得分:6)

是的,确保客户端使用更新的CA证书捆绑包会更安全。 (关于这个问题,他们已经有了证书。)

答案 1 :(得分:4)

一个原因可能是它会阻止支持头痛,人们在1美元/年的共享主机箱上运行脚本,遇到问题等。
最佳实践?没有。但是除了ctrl + c ctrl + v之外有更多知识的人将能够正确设置它。

编辑:我们当前的示例代码强制使用VERIFYPEER和VERIFYHOST。如果遇到任何SSL握手错误,请记住这一点,因为您可能需要指向根证书文件副本。