重要通知: 关于POODLE漏洞和付款安全

Zen Cart的安装、设置、升级讨论和使用技巧交流

版主: shaning

重要通知: 关于POODLE漏洞和付款安全

帖子li-he-qi » 2014-11-14 22:22

由于POODLE漏洞, 一些支付处理商已经开始停止使用SSLv3.0, 这有可能导致收款出现问题:

现象:
付款过程中客户有可能看到这样的错误信息:
"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:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number"

背景:
在过去几年 告诉PHP弃用缺省的SSLv2通信是很重要的, 于是我们指定了SSLv3, 但现在SSLv3已经被 TLS 1.0 1.1 和 1.2所超越, 现在较新版本的PHP和libcurl只要没有指定SSL的版本 他们能够自动协议使用最优的SSL版本, 所以对于POODLE漏洞最好的办法就是修改ZENCART的代码 不指定SSL版本, 让PHP和libcurl自动协商.

受影响的版本:
v1.3.8a - 只有linkpoint_api module受影响
v1.3.9 - 以下所有文件受影响
v1.5.0-v1.5.3 - 以下所有文件受影响

受影响的文件:
/includes/modules/payment/paypal/paypal_curl.php 约58行
/includes/modules/payment/authorizenet_aim.php 约600行
/includes/modules/payment/authorizenet_echeck.php 约589行
/includes/modules/payment/paypaldp.php 约2342行 (有些版本有此文件, 有些没有, 有的话就改)
/includes/modules/payment/linkpoint_api/class.linkpoint_api.php 约309行
(行号因你使用的ZENCART版本不同而有可能不同)

修改:
在所有PHP文件中查找"CURLOPT_SSLVERSION", 代码行如下:
代码: 全选
 curl_setopt($ch, CURLOPT_SSLVERSION, 3);

只要将此行注释掉即可
代码: 全选
//  curl_setopt($ch, CURLOPT_SSLVERSION, 3);

(注意:在paypal_curl.php文件中代码相似 但由于其他的原因写法不完全一样, 在行首加//即可:)
代码: 全选
//     CURLOPT_SSLVERSION => 3,


如果你自行安装了其他支付和物流模块, 并且使用CURL/SSLv3通信, 可以做同样修改

注:
1. 即使你的网站没有安装SSL证书, 也要做此修改
2. PAYPAL将于北京时间 2014年12月3日 下午4:01 开始停止对SSL 3.0的支持, 请及时修改

转载自:
http://www.zen-cart.com/showthread.php? ... t-security
li-he-qi
VIP会员
VIP会员
 
帖子: 544
注册: 2010-09-22 22:47

  • 相关话题
    回复总数
    阅读次数
    最新文章

回到 安装设置



在线用户

正在浏览此版面的用户:没有注册用户 和 7 位游客