网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的范文:

 

标题 php实例分享判断客户端是否使用代理服务器及其匿名级别
范文
    要判断客户端是否使用代理服务器,可以从客户端所发送的环境变量信息来判断。
    具体来说,就是看http_via字段,如果这个字段设置了,说明客户端使用了代理服务器。
    匿名级别可以参考下表来判断。
    给出一个应用例子,可以挂上代理试试效果: http://ip.mixsec.org/
    一、没有使用代理服务器的情况:
    remote_addr = 您的 ip
    http_via = 没数值或不显示
    http_x_forwarded_for = 没数值或不显示
    二、使用透明代理服务器的情况:transparent proxies
    remote_addr = 代理服务器 ip
    http_via = 代理服务器 ip (补充:这个字段由代理服务器填充,有时会填充网关信息等)
    http_x_forwarded_for = 您的真实 ip
    这类代理服务器还是将您的信息转发给您的访问对象,无法达到隐藏真实身份的目的。
    三、使用普通匿名代理服务器的情况:anonymous proxies
    remote_addr = 代理服务器 ip
    http_via = 代理服务器 ip (补充:这个字段由代理服务器填充,有时会填充网关信息等)
    http_x_forwarded_for = 代理服务器 ip
    隐藏了您的真实ip,但是向访问对象透露了您是使用代理服务器访问他们的。
    四、使用欺骗性代理服务器的情况:distorting proxies
    remote_addr = 代理服务器 ip
    http_via = 代理服务器 ip (补充:这个字段由代理服务器填充,有时会填充网关信息等)
    http_x_forwarded_for = 随机的 ip
    告诉了访问对象您使用了代理服务器,但编造了一个虚假的随机ip代替您的真实ip欺骗它。
    五、使用高匿名代理服务器的情况:high anonymity proxies
    remote_addr = 代理服务器 ip
    http_via = 没数值或不显示
    http_x_forwarded_for = 没数值或不显示
    完全用代理服务器的信息替代了您的所有信息,就象您就是完全使用那台代理服务器直接访问对象。
    除此之外,可以通过proxy judges总 结其他一些可供参考的判定信息,一遍于在实践中加以利用。
    最后写一个php例子,仅供大家参考:
    代码如下:
    if(!empty($_server['http_via'])) //使用了代理
    {
    if(!isset($_server['http_x_forwarded_for']))
    {
    //anonymous proxies 普通匿名代理服务器
    //代理ip地址为 $_server['remote_addr']
    }
    else
    {
    //transparent proxies 透明代理服务器
    //代理ip地址为 $_server['remote_addr']
    //真实ip地址为 $_server['http_x_forwarded_for']
    }
    }
    else //没有代理或者是高匿名代理
    {
    //真实ip地址为 $_server['remote_addr']
    }
随便看

 

在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/13 5:01:53