微信H5支付,网络环境未通过安全检测

2018-12-27  本文已影响0人  勿_5d7a

微信给的sdk里面是这样的

96X@HSYXL{GU3C0ZN$_)P94.png

也就是 写死了,如果有用到反向代理了,那么坑就来了

}$U[68`E_]GBZF{{W}G)}98.png

提供了setIP的 但是由于sdk的统一下单写死了,并没用什么卵用,set不进去

修改为


1545896858(1).jpg
    public static  function getClientIp($type=0)
    {
        $type       =  $type ? 1 : 0;
        static $ip  =   NULL;
        if ($ip !== NULL) return $ip[$type];

        if(isset($_SERVER['HTTP_X_REAL_IP'])){//nginx 代理模式下,获取客户端真实IP
            $ip=$_SERVER['HTTP_X_REAL_IP'];
        }elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {//客户端的ip
            $ip     =   $_SERVER['HTTP_CLIENT_IP'];
        }elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {//浏览当前页面的用户计算机的网关
            $arr    =   explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
            $pos    =   array_search('unknown',$arr);
            if(false !== $pos) unset($arr[$pos]);
            $ip     =   trim($arr[0]);
        }elseif (isset($_SERVER['REMOTE_ADDR'])) {
            $ip     =   $_SERVER['REMOTE_ADDR'];//浏览当前页面的用户计算机的ip地址
        }else{
            $ip=$_SERVER['REMOTE_ADDR'];
        }
        // IP地址合法验证
        $long = sprintf("%u",ip2long($ip));
        $ip   = $long ? array($ip, $long) : array('0.0.0.0', 0);
        return $ip[$type];
    }
上一篇下一篇

猜你喜欢

热点阅读