您所在的位置:首页 / 知识分享

getenv(php7.0以上版本不不能使用的问题)

2020.08.06

1458

wng_png

The function 'getenv' does not work if your Server API is ASAPI (IIS).
So, try to don't use getenv('REMOTE_ADDR'), but $_SERVER["REMOTE_ADDR"].

版本升级容易出现此问题

1,使用php7<=以下版本
2,通过$_SERVER[]替换使用

扩展:

function getIP() { 

if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { 

$realip = $_SERVER['HTTP_X_FORWARDED_FOR']; 

} elseif (isset($_SERVER['HTTP_CLIENT_IP'])) { 

$realip = $_SERVER['HTTP_CLIENT_IP']; 

} else { 

$realip = $_SERVER['REMOTE_ADDR']; 

return $realip; 

一、没有使用代理服务器的情况:

REMOTE_ADDR = 您的 IP
HTTP_VIA = 没数值或不显示
HTTP_X_FORWARDED_FOR = 没数值或不显示

二、使用透明代理服务器的情况:Transparent Proxies

REMOTE_ADDR = 最后一个代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 您的真实 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。

这类代理服务器还是将您的信息转发给您的访问对象,无法达到隐藏真实身份的目的。

三、使用普通匿名代理服务器的情况:Anonymous Proxies

REMOTE_ADDR = 最后一个代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 代理服务器 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。

隐藏了您的真实IP,但是向访问对象透露了您是使用代理服务器访问他们的。

四、使用欺骗性代理服务器的情况:Distorting Proxies

REMOTE_ADDR = 代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 随机的 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。

告诉了访问对象您使用了代理服务器,但编造了一个虚假的随机IP代替您的真实IP欺骗它。

五、使用高匿名代理服务器的情况:High Anonymity Proxies (Elite proxies)

REMOTE_ADDR = 代理服务器 IP
HTTP_VIA = 没数值或不显示
HTTP_X_FORWARDED_FOR = 没数值或不显示 ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。

完全用代理服务器的信息替代了您的所有信息,就象您就是完全使用那台代理服务器直接访问对象。

相关新闻

元宇宙是什么?它与数字孪生有什么关联?

2023.02.24

269

因为目前从事的行业智慧城市跟元宇宙联系非常紧密,所以本文旨在以我有限的检索能力与浅薄的理解解释三个问题: 1、什么是元宇宙? 2、元宇宙涉及生活哪些方面? 3、它对智慧城市数字孪生行业有什么关联与影响?

Go 每日一练之类型断言

2020.08.05

1245

Go 类型断言广泛用于interfer{}类型转为其他类型(经常出现在map类型中),另外只有initerface类型才可以进行类型断言。