PHP中HTTP_X_FORWARDED_FOR和REMOTE_ADDR的使用_PHP教程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP中HTTP_X_FORWARDED_FOR和REMOTE_ADDR的使用_PHP教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2983字,纯文字阅读大概需要5分钟。
内容图文
![PHP中HTTP_X_FORWARDED_FOR和REMOTE_ADDR的使用_PHP教程](/upload/InfoBanner/zyjiaocheng/172/6690ce279d7145dfb02e2bba11e7dcbd.jpg)
1.REMOTE_ADDR:浏览当前页面的用户计算机的ip地址
2.HTTP_X_FORWARDED_FOR: 浏览当前页面的用户计算机的网关
3.<span HTTP_CLIENT_IP:客户端的ip
在PHP 中使用
但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的 IP 地址,而不是真正的客户端 IP 地址。要想透过代理服务器取得客户端的真实 IP 地址,就要使用
不过要注意,并不是每个代理服务器都能用 $_SERVER["HTTP_X_FORWARDED_FOR"] 来读取客户端的真实 IP,有些用此方法读取到的仍然是代理服务器的 IP。
还有一点需要注意的是:
Php代码
if ($_SERVER['HTTP_X_FORWARDED_FOR'] && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/',$_SERVER['HTTP_X_FORWARDED_FOR'])) { $onlineip = $_SERVER['HTTP_X_FORWARDED_FOR']; } elseif ($_SERVER['HTTP_CLIENT_IP'] && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/',$_SERVER['HTTP_CLIENT_IP'])) { $onlineip = $_SERVER['HTTP_CLIENT_IP']; }
获取用户IP地址的三个属性的区别 (HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR) :
一、没有使用代理服务 器的情况:
<span REMOTE_ADDR = 您的 IP
<span HTTP_VIA = 没数值或不显示
<span HTTP_X_FORWARDED_FOR = 没数值或不显示
二、使用透明代理服务器的情 况:Transparent Proxies
<span REMOTE_ADDR = 最后一个代理服务器 IP
<span HTTP_VIA = 代理服务器 IP
<span HTTP_X_FORWARDED_FOR = 您的真实 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
这类代理服务器还是将您的信息转发给您的访问对象,无法达到隐藏真实身份的目的。
三、使用普通匿名代理服务器的情况:Anonymous Proxies
<span REMOTE_ADDR = 最后一个代理服务器 IP
<span HTTP_VIA = 代理服务器 IP
<span HTTP_X_FORWARDED_FOR = 代理服务器 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
隐藏了您的真实IP,但是向访问对象透露了您是使用代理服务器访问他们的。
四、使用欺骗性代理服务器的情况:Distorting Proxies
<span REMOTE_ADDR = 代理服务器 IP
<span HTTP_VIA = 代理服务器 IP
<span HTTP_X_FORWARDED_FOR = 随机的 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
告诉了访问对象您使用了代理服务器,但编造了一个虚假的随机IP代替您的真实IP欺骗它。
五、使用高匿名代理服务器的情况:High Anonymity Proxies (Elite proxies)
<span REMOTE_ADDR = 代理服务器 IP
<span HTTP_VIA = 没数值或不显示
<span HTTP_X_FORWARDED_FOR = 没数值或不显示 ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
完全用代理服务器的信息替代了您的所有信息,就象您就是完全使用那台代理服务器直接访问对象。
http://www.bkjia.com/PHPjc/440138.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/440138.htmlTechArticle参考来源:http://qq398705749.iteye.com/blog/963818 1. REMOTE_ADDR :浏览当前页面的用户计算机的ip地址 2. HTTP_X_FORWARDED_FOR : 浏览当前页面的用户计算机的...
内容总结
以上是互联网集市为您收集整理的PHP中HTTP_X_FORWARDED_FOR和REMOTE_ADDR的使用_PHP教程全部内容,希望文章能够帮你解决PHP中HTTP_X_FORWARDED_FOR和REMOTE_ADDR的使用_PHP教程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。