SEO优化型网站更多

更多

当前位置: 首页 > 网络篇 > zencar付款paypal错误

zencar付款paypal错误

厦门松柏建站 / 2015-01-11
[] [] []

最近这几天一直碰到客户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);(//前面注释就可以了)

 

下一篇: Empty! 上一篇: zencart后台修改:标题,关键词,描述说明
详细地址 E-mail: manager@web-song.com
© 2005-2021 厦门松柏建站 版权所有,并保留所有权利。