php检测用户是否使用代理上网的方法
获取用户IP地址的三个属性的区别(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
一、没有使用代理服务器的情况:
实例:
REMOTE_ADDR = 158.41.30.94
HTTP_VIA = 没数值或不显示
HTTP_X_FORWARDED_FOR = 没数值或不显示
二、使用透明代理服务器的情况:Transparent Proxies
下例中,实际IP=158.41.30.94,使用代理服务器IP=210.51.46.227
REMOTE_ADDR = 210.14.65.69 (最后一个代理服务器 IP)
HTTP_VIA = 1.1 shopex:80 (squid/2.6.STABLE4), 1.0 briage.shopex.cn:81 (squid/2.5.STABLE14)
HTTP_X_FORWARDED_FOR = 158.41.30.94, 210.51.46.227
这类代理服务器还是将您的信息转发给您的访问对象,无法达到隐藏真实身份的目的。
三、使用普通匿名代理服务器的情况:Anonymous Proxies
下例中,实际IP=158.41.30.94,使用代理服务器IP=210.51.46.227
REMOTE_ADDR = 210.14.65.69
HTTP_VIA = 1.1 shopex:80 (squid/2.6.STABLE4), 1.0 briage.shopex.cn:81 (squid/2.5.STABLE14)
HTTP_X_FORWARDED_FOR = 210.51.46.227
隐藏了您的真实IP,但是向访问对象透露了您是使用代理服务器访问他们的。
四、使用欺骗性代理服务器的情况:Distorting Proxies
下例中,实际IP=158.41.30.94,使用代理服务器IP=210.51.46.227
REMOTE_ADDR = 210.14.65.69
HTTP_VIA = 1.1 shopex:80 (squid/2.6.STABLE4), 1.0 briage.shopex.cn:81 (squid/2.5.STABLE14)
HTTP_X_FORWARDED_FOR = ×××.××.××.××, 210.51.46.227
告诉了访问对象您使用了代理服务器,但编造了一个虚假的随机IP ×××.××.××.×× 代替您的真实IP欺骗它。
五、使用高匿名代理服务器的情况:High Anonymity Proxies (Elite proxies)
下例中,实际IP=158.41.30.94,使用代理服务器IP=210.51.46.227,WEB服务器根本获取不到实际的IP地址
REMOTE_ADDR = 210.51.46.227
HTTP_VIA = 没数值或不显示
HTTP_X_FORWARDED_FOR = 没数值或不显示
完全用代理服务器的信息替代了您的所有信息,就象您就是完全使用那台代理服务器直接访问对象。
ss
- 本文标题:php检测用户是否使用代理上网的方法
- 创建时间:2011-01-28 00:00:00
- 本文链接:posts/f570.html
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!