企业微信支付宝收款插件【微信H5支付个别手机提示[网络环境未能通过安全验证,请稍后再试]】

问题描述

企业微信支付宝收款插件【微信H5支付个别手机提示[网络环境未能通过安全验证,请稍后再试]】,原因是有的手机用了代理,框架里面获取终端ip的方法有问题,换一个方法就可以了!

原代码在【/vendor/overtrue/wechat/src/Payment/helpers.php】 Line 47【 function get_client_ip() 】,这个获取ip的方法有问题

参考链接【https://www.cnblogs.com/marco123/p/9714871.html

具体代码如下:

/**

*/
function get_client_ip() {

if(!empty($_SERVER["HTTP_CLIENT_IP"]))
{
    $cip = $_SERVER["HTTP_CLIENT_IP"];
}
else if(!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))
{
    $cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}
else if(!empty($_SERVER["REMOTE_ADDR"]))
{
    $cip = $_SERVER["REMOTE_ADDR"];
}
else
{
    $cip = '';
}
preg_match("/[\d\.]{7,15}/", $cip, $cips);
$cip = isset($cips[0]) ? $cips[0] : 'unknown';
unset($cips);
return $cip;

}

复现步骤

BUG截图

image.png

安装启用插件列表

企业微信支付宝收款插件

FastAdmin版本

1.0.0.20180513_beta

PHP版本

PHP 5.5 fpm-fcgi

运行环境

Apache 2.4

查看更多

关注者
0
被浏览
320
2 个回答
taitou
taitou 2019-01-11
这家伙很懒,什么也没写!

可以厉害了

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览