Arc*_*dix 33 php ssl curl paypal
看起来PayPal可能已根据POODLE 攻击更新了其系统,导致使用PHP PayPal SDK的网站中断.
我收到错误:
PayPal/Exception/PPConnectionException: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
/var/www/site/vendor/paypal/sdk-core-php/lib/PayPal/Core/PPHttpConnection.php:91
/var/www/site/vendor/paypal/sdk-core-php/lib/PayPal/Core/PPAPIService.php:66
/var/www/site/vendor/paypal/sdk-core-php/lib/PayPal/Core/PPBaseService.php:82
/var/www/site/vendor/paypal/adaptivepayments-sdk-php/lib/PayPal/Service/AdaptivePaymentsService.php:97
Run Code Online (Sandbox Code Playgroud)
在不影响安全性的情况下,您建议如何解决此问题?
Arc*_*dix 33
更新:正如Jaffer所说,PayPal的GitHub存储库已经合并了以下更改,因此您可能只是更新SDK.
至少这似乎现在有效,但我将不得不调查它实际使用的协议.
\PayPal\Core\PPHttpConfig::$DEFAULT_CURL_OPTS[CURLOPT_SSLVERSION] = 1;
// 0 = default protocol (likely TLSv1), 1 = TLSv1; unsafe: 2 = SSLv2, 3 = SSLv3
Run Code Online (Sandbox Code Playgroud)
对于直接使用cURL的其他人,只需使用
curl_setopt($handle, CURLOPT_SSLVERSION, 1);
Run Code Online (Sandbox Code Playgroud)
enum {
CURL_SSLVERSION_DEFAULT, // 0
CURL_SSLVERSION_TLSv1, // 1
CURL_SSLVERSION_SSLv2, // 2
CURL_SSLVERSION_SSLv3, // 3
CURL_SSLVERSION_LAST /* never use, keep last */ // 4
};
Run Code Online (Sandbox Code Playgroud)
总而言之,是的,1是TLSv1并从评论中判断,可能比4更好
.更新了上面的代码.
| 归档时间: |
|
| 查看次数: |
26568 次 |
| 最近记录: |