西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > zencart教程 >

修复zencar付款paypal SSL协议错误

时间:2015-07-01 11:25来源:未知 作者:好模板 点击:
客户zencart的网站出现paypal付款不成功,出错的问题: 原因是:POODLE的漏洞问题, paypal已经开始停止使用SSLv3.0的支付版本了, 而导致的付款出现类似如下问题: 现象如: paypal付款过程中类

客户zencart的网站出现paypal付款不成功,出错的问题:

原因是:POODLE的漏洞问题, paypal已经开始停止使用SSLv3.0的支付版本了, 而导致的付款出现类似如下问题:

现象如:

paypal付款过程中类似以下的错误信息。

 An error occurred when we tried to contact the payment processor. Please try again, select an alternate payment method, or contact the store owner for assistance. () - (35) error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure

zencart主要受此问题影响的版本有:v1.5.0-v1.5.3 - 以下所有文件受影响;v1.3.8a - 只有linkpoint_api module;v1.3.9 - 以下所有文件受影响。其中v1.3.8a版本比较旧了,现在网络上安装此版本的也比较少。所以影响比不大,主要是1.5.x 和v1.3.9.

问题所在:

过去php的网站商城弃用缺省的SSLv2通信, 而指定了SSLv3, 目前SSLv3已经被 TLS 1.0 1.1 和 1.2所代替了, 目前新版本的PHP和libcurl只要没有指定SSL版本的时候。 它们是可以自动协议而选择最优SSL的版本。 所以对于POODLE漏洞最好的办法:通过修改zencart网店的代码。不指定SSL版本自动让PHP和libcurl自动协商解决就可以了。

修改的文件有:(具体的路径要因不同的zencart版本)

/includes/modules/payment/authorizenet_aim.php 约600行

/includes/modules/payment/paypal/paypal_curl.php 约58行

/includes/modules/payment/authorizenet_echeck.php 约589行

/includes/modules/payment/linkpoint_api/class.linkpoint_api.php 约309行

/includes/modules/payment/paypaldp.php 约2342行

 

PHP文件中查找"CURLOPT_SSLVERSION", 代码行如下:

//curl_setopt($ch, CURLOPT_SSLVERSION, 3);(//前面注释就可以了)

(责任编辑:好模板)
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容