php ajax ip,php / ajax REMOTE_ADDR设置为伪网络适配器的IP

今天我遇到了一个基于php的应用程序的一个非常奇怪的行为.

在系统的某个部分,有一个UI使用AJAX调用来填充列表

包含来自后端内容的框.

现在,AJAX监听器对所有传入的请求执行安全检查,确保

只有有效的客户端IP才能获得响应.有效的IP也存储在后端.

为了获得客户端的IP,我使用了普通的旧版本

$_SERVER['REMOTE_ADDR']

适用于大多数客户.今天我遇到了一个装置

remote_addr包含一个网络适配器的IP,它不是执行的那个

我的申请的实际沟通.

function getRealIpAddr()

{

if (!empty($_SERVER['HTTP_CLIENT_IP'])) //check ip from share internet

{

$ip=$_SERVER['HTTP_CLIENT_IP'];

}

elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))//check ip is pass from prxy

{

$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];

}

else

{

$ip=$_SERVER['REMOTE_ADDR'];

}

return $ip;

}

可悲的是,问题仍然存在.

有没有人偶然发现这类问题(实际上我不认为我发现了一个完全新的问题^^)并且有一个想法让我如何解决这个问题?

编辑:

我上线了

> PHP版本5.2.9-1

> Apache / 2.2.9(Win32)

通过常规LAN卡进行通信.现在,客户端有几个

设备更多. VMNet适配器等.

我想知道客户端配置如何“打扰”Web服务器那么多……

TIA

ķ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值