PHP非法访问重定向

<?php
/**
 * Created by PhpStorm.
 * User: frank
 * Date: 2019/1/3
 * Time: 14:01
 */
//获取客户端ip
function ip_ban()
{
    if (getenv("HTTP_CLIENT_IP"))
        $ip = getenv("HTTP_CLIENT_IP");
    else if (getenv("HTTP_X_FORWARDED_FOR"))
        $ip = getenv("HTTP_X_FORWARDED_FOR");
    else if (getenv("REMOTE_ADDR"))
        $ip = getenv("REMOTE_ADDR");
    else $ip = "Unknow";
    $ALLOWED_IP = array('10.144.39.132','192.168.1.*','localhost','127.0.0.*');
//允许访问的ip
    $check_ip_arr = explode('.', $ip);
//ip参数拆分成数组
    if (!in_array($ip, $ALLOWED_IP)) {
        $bl = false;
        foreach ($ALLOWED_IP as $val) {
            if (strpos($val, '*') !== false) {
                //发现有*号替代符
                $arr = array();
                $arr = explode('.', $val);
                $bl = true;
                //用于记录循环检测中是否有匹配成功的
                for ($i = 0; $i < 4; $i++) {
                    if ($arr[$i] != '*') {
                        //不等于* 就要进来检测,如果为*符号替代符就不检查
                        if ($arr[$i] != $check_ip_arr[$i]) {
                            $bl = false;
                            break;
                            //终止检查本个ip 继续检查下一个ip
                        }
                    }
                }
                //end for
                if ($bl) {
                    //如果是true则终止匹配
//                    break;
                    return 1;

                }
            }
        }
        //end foreach
        if (!$bl) {
            $return = array(
                'status' => 2,
                'msg' => '该IP无权限访问',
                'data' => $ip
            );
//            echo json_encode($return);
            return 0;
//            exit();
        }
    }
}
if(ip_ban()){

}
else{
    $return = array(
        'status' => 404,
        'msg' => '非法访问,已记录档案'
    );
    echo json_encode($return);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容