判断内网ip

web中有很些敏感操作我们只希望通过内网访问,对此可以对来源ip做判断,如果是内网则允许访问,否则拒绝

php中可如下实现

function isIntranet($ip) {
        $ipLong = ip2long($ip);

        if (!$ipLong) {
            return false;
        }

        if (($ipLong & 0xff000000) === 0x0a000000) { //10.0.0.0 - 10.255.255.255
            return true;
        } elseif (($ipLong & 0xfff00000) === 0xac100000) { //172.16.0.0 - 172.31.255.255
            return true;
        } elseif (($ipLong & 0xffff0000) === 0xc0a80000) { //192.168.0.0 - 192.168.255.255
            return true;
        }

        return false;
    }


也可以在 nginx 中可以配置

      location /api/private {
          deny 10.0.0.0/8;
          deny 172.16.0.0/12;
          deny 192.168.0.0/16;
      }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值