发现bug?获取真实ip

gddd

在阿里云负载均衡的情况下使用getRealIp方法 获取的是这个头的ip "x-forwarded-for":"171.83.xx.xx, 100.123.243.61"

截图

逗号前面的ip static::isIntranetIp($remote_ip) 被判断 返回true了

所有走到下面获取x-forwarded-for了。其实返回getRemoteIp就对了

1108 2 0
2个回答

walkor

其实返回getRemoteIp就对了

返回的值是?

  • gddd 2022-06-09

    171.83.3.60

  • gddd 2022-06-09

    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; nginx这个是不是要改下

walkor

test.php

<?php
require_once __DIR__ . '/vendor/autoload.php';

var_export(\support\Request::isIntranetIp('171.83.3.60'));
echo "\n";

截图

我这里对 171.83.3.60 的判断是正确的。是不是你的版本不是最新的,升级试下。

年代过于久远,无法发表回答
🔝