Ksh*_*KJ- 8 php proxy ip-address
有没有办法通过代理服务器收集连接到您网站的客户端的IP地址?
整个设置是一个内部局域网,通过系统管理员,我也可以控制代理机器.我在网站服务器端使用PHP5.
我试过$_SERVER['REMOTE_ADDR']PHP,但这个变量只存储代理的IP地址.
有任何想法吗?
blo*_*art 12
这取决于代理.一些代理添加了一个标题,该标题提供了原始IP地址,即X-Forwarded-For标头,但考虑到大多数公司使用代理来隐藏罕见的内部网络结构.如果是这种情况,那么您将无法轻松完成.
如果您可以控制代理,那么就该阅读代理文档以了解如何添加该标头.
小智 12
标准解决方案(在PHP中)是:
if ($_SERVER['HTTP_X_FORWARDED_FOR']){
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
else{
$ip = $_SERVER['REMOTE_ADDR'];
}
Run Code Online (Sandbox Code Playgroud)
但正如第一个答案所说,这一切都取决于实际设置的标题.