首先了解一些HTTP代理的相关知识.

使用不同种类代理服务器,情况会有所不同:

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

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 (Elite proxies)

REMOTE_ADDR = 代理服务器 IP

HTTP_VIA = 没数值或不显示

HTTP_X_FORWARDED_FOR = 没数值或不显示

/**

* get the real IP

*

* @Author:

* @Return: string

*/

function getIP()

{

static $realip;

if (isset($_SERVER)){

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

$realip = $_SERVER["HTTP_X_FORWARDED_FOR"];

} else if (isset($_SERVER["HTTP_CLIENT_IP"])) {

$realip = $_SERVER["HTTP_CLIENT_IP"];

} else {

$realip = $_SERVER["REMOTE_ADDR"];

}

} else {

if (getenv("HTTP_X_FORWARDED_FOR")){

$realip = getenv("HTTP_X_FORWARDED_FOR");

} else if (getenv("HTTP_CLIENT_IP")) {

$realip = getenv("HTTP_CLIENT_IP");

} else {

$realip = getenv("REMOTE_ADDR");

}

}

return $realip;

}

?>

在PHP中我们可以用$_SERVER["REMOTE_ADDR"]来获取用户客户端的IP地址,但如果客户端是使用代理服务器,

那取到的就是代理服务器的 IP 地址.

要想透过代理服务器取得客户端的真实 IP 地址,就要使用$_SERVER["HTTP_X_FORWARDED_FOR"] 来读取.

但并不是用$_SERVER["HTTP_X_FORWARDED_FOR"]都能来读取到透过代理服务器的客户真实 IP,有些用此方法读取到的仍然是代理服务器的 IP.

建议不要使用HTTP_X_FORWARDED_FOR,这会提供机会让访问者伪造ip,而变得难易查询.

references:

http://czy4411741.blog.163.com/blog/static/34203127201021022857899/

http://hi.baidu.com/hengcheng/blog/item/2dc020fa65c9278d9e5146b4.html

http网址捆綁代理php_PHP获取IP,HTTP代理问题相关推荐

  1. 在线网页代理api 获取免费的代理地址

    在线网页代理api,获取免费的代理地址,不间断更新. 接口名称:在线网页代理api 接口平台:开源接口 接口地址:http://japi.juheapi.com/japi/fatch 支持格式:jso ...

  2. http网址捆綁代理php_决心下载win7原版系统没有捆绑软件没有广告的win7原版系统镜像...

    使用系统的 iso刻录到usb, iso刻录到usb的工具 https://dl.pconline.com.cn/download/2142416.html 经测试,OK, 不建议使用PE工具安装系统 ...

  3. sqlmap代理池_sqlmap +外部代理池绕过IP拦截

    0x00:前言 一,基于前面写过给"扫描目录+ N多代理",这次给sqlmap加一个代理池.用处就是在跑sqlamp注入的时候,防止被ban掉IP. 二,这个想法是很久之前就有了, ...

  4. 获得代理ippython_Python搭建代理IP池实现获取IP的方法

    使用爬虫时,大部分网站都有一定的反爬措施,有些网站会限制每个 IP 的访问速度或访问次数,超出了它的限制你的 IP 就会被封掉.对于访问速度的处理比较简单,只要间隔一段时间爬取一次就行了,避免频繁访问 ...

  5. Python搭建代理IP池(一)- 获取 IP

    使用爬虫时,大部分网站都有一定的反爬措施,有些网站会限制每个 IP 的访问速度或访问次数,超出了它的限制你的 IP 就会被封掉.对于访问速度的处理比较简单,只要间隔一段时间爬取一次就行了,避免频繁访问 ...

  6. apache代理时java获取IP的问题

    2019独角兽企业重金招聘Python工程师标准>>> x-forwarded-for的深度挖掘 如今利用nginx做负载均衡的实例已经很多了,针对不同的应用场合,还有很多需要注意的 ...

  7. Nginx 反向代理时获取用户的真实 IP

    在平时我们开发后端程序的过程中,应该多多少少都会碰到记录客户端 IP 的场景,例如我之前写过的 APP 用户的一个审计功能,就需要获取用户的 IP 地址:还有广告系统里面,也是需要获取用户的 IP 地 ...

  8. Nginx在多层代理下获取真实客户端IP地址

    最近在研究nginx中如何获取真实客户端IP的方法.众所周知,在编译Nginx时,可通过添加http_realip_module模块来获取真实客户端IP地址.何为真实IP地址呢?请看下图,既获取到的真 ...

  9. 获取客户端ip_代理IP工具能否解决反爬?

    互联网已成了生活中的部分,从事互联网的工作者,避免不了需要去一些网站上进行爬取需要的数据来达到自己产品或者业务上的需求.比如反爬策略,但是,使用代理IP工具一定可以解决反爬虫策略吗? 一.不同的网站有 ...

最新文章

  1. mysql8.0.12最小化安装_简述MySql8.0编译安装过程
  2. python下 help()使用方法
  3. C#vs Java哪一个更快? 将25k C#转换为Java(2)
  4. c# asp.net mvc 开发的正方教务助手(一)
  5. MDP蒙特卡罗方法(四)
  6. 纯CSS实现table表头固定(自创备忘)
  7. Pytorch——torch.Tensor.data操作的含义
  8. 假定CSomething是一个类,执行下面这些语句之后,内存里创建了____个CSomething对象。...
  9. Python密码生成器
  10. 定义一个工资变量c语言,《工资管理》c语言程序设计.doc
  11. 解决imp导入dmp文件报:IMP-00038: 无法转换为环境字符集句柄IMP-00000: 未成功终止导入
  12. python 百度aip实现文字识别
  13. 出入库管理系统-精致版
  14. 一日一命令:find 命令详解
  15. 在Word2003中打开Word2007文档的方法及教程下载
  16. 面经---测试工程师web端自动化---大厂面试题
  17. python中怎么输入正斜杠,详解Python中的正斜杠与反斜杠
  18. 企业级别的应用程序开发
  19. 千分位、两位小数的展示
  20. ESD静电保护(ESD器件保护原理及选型)

热门文章

  1. linux内核定义注册设备,linux字符型设备驱动 一.注册设备并创建设备文件
  2. python django并发访问挂掉,解决django高并发时数据库连接量过大的问题(实现连接池的方法)...
  3. 【控制】多智体系统一致性基础知识
  4. make: *** [out/target/common/obj/APPS/Phone_intermediates/classes-full-debug.jar] 错误 41
  5. 【S操作】简单粗暴自动化免费文档存储备份方案
  6. 【AI2】喜讯!app inventor最近进展,实现流媒体视频播放
  7. Linux awk 使用
  8. java 常见中文乱码问题解决
  9. Java中windows路径转换成linux路径等工具类
  10. git cherry-pick简介