九州IP:关于IP和网络代理的几个概念

2018-09-28  本文已影响125人  263ab0c54e2e

在做服务端API接口时,经常需要考虑接口防刷的问题,最核心的一个就是防止同一个IP地址频繁访问。下面就关于服务端获取 IP 以及客户端 IP 代理的几个概念简单介绍下。

REMOTE_ADDR

没有使用代理时,就是客户端 IP

使用一层代理时,就是代理 IP

使用多层代理时,就是最终访问服务器的代理 IP

HTTP_VIA

没有使用代理时,没有值

使用代理时,就是代理 IP

HTTP_X_FORWARDED_FOR

没有使用代理时,没有值

使用一层代理时,就是客户端 IP

使用N层代理时,就是“客户端 IP,第1层代理 IP,...,第(N-1)层代理 IP”,但不包括第N层代理

透明代理 - Transparent Proxy

REMOTE_ADDR = Proxy IP

HTTP_VIA = Proxy IP

HTTP_X_FORWARDED_FOR = Your IP

该代理方式只是将信息转发给访问对象,无法达到隐藏真实身份的目的,服务端只需要通过 HTTP_X_FORWARDED_FOR,就可以知道你的真实身份。

匿名代理 - Anonymous Proxy

REMOTE_ADDR = Proxy IP

HTTP_VIA = Proxy IP

HTTP_X_FORWARDED_FOR = Proxy IP

该代理方式隐藏了您的真实 IP,但是服务端依然知道客户端是通过代理服务访问他们的。

混淆代理 - Distorting Proxy

REMOTE_ADDR = Proxy IP

HTTP_VIA = Proxy IP

HTTP_X_FORWARDED_FOR = Random IP Address

服务端依然知道客户端是通过代理服务访问他们的,但是通过 HTTP_X_FORWARDED_FOR 获取到的IP地址是一个虚假的随机 IP 地址。

高匿代理 - High Anonymity Proxy

REMOTE_ADDR = Proxy IP

HTTP_VIA = Not Determined

HTTP_X_FORWARDED_FOR = Not Determined

很明显,采用这种代理方式,服务端如果没有做进一步的校验处理,很容易被客户端欺骗。

上一篇 下一篇

猜你喜欢

热点阅读