我的个人博客,源地址:http://www.woniubi.cn/get_client_ip/

前两个星期帮一个朋友的亲戚的孩子刷票,谁让咱们是程序员呢。这当中也遇到过重装系统,除灰尘,淘宝购物,盗QQ,下电影,某一个软件为什么不能使用等等,要是说不会,他们就说你电脑技术不是挺牛逼的吗,这点问题都解决不了。

刷票,分为多种限制,注册用户,验证码,以及IP限制。这个刷票网站,而不,是这个投票网站,限制了IP。如果要突破限制,我们需要了解如何获得用户的IP。

1:getenv('HTTP_X_FORWARDED_FOR')
2:getenv('HTTP_CLIENT_IP')
3:getenv('REMOTE_ADDR')

HTTP_X_FORWARDED_FOR

这个是从http header头部获得,他的格式是A ip, B ip, C ip。出现这种情况的原因有两种

  1. 一个网站由于流量过大,使用负载均衡,所以在应用程序前面放一个负载均衡器,用户无法直接访问到。
  2. 用户使用代理去访问。

用户先是使用A IP,每增加一层代理,这个头就会在后面多增加一个IP,以逗号分割,最后到达真正的web容器。只要是头部获得信息,都是可以被伪造的。所以这种情况使用A IP 有可能不是用户的真实IP。所以我们这种情况,我们只能把连接负载均衡的IP当做用户的真实IP,至少这个数据是正确的。但是这个IP可能是用户的代理IP,不是用户的真实IP。不过这种情况至少比用户的假ip好一些。

HTTP_CLIENT_IP

这个也是从header头部获得,本来是打算记录用户真实IP,但是很少使用到。

REMOTE_ADDR

这个就是获得连接的IP,只有小网站才这么使用,直接把数据暴漏出去,站点就是一个单点,没有任何的负载均衡。如果上层使用了pxory,这个数据就是proxy的IP。

而我作恶就是直接伪造x-forwarder-for数据,然后欺骗他们,不过没过几天,这个漏洞被发现了,然后我就换成使用代理的方式的直接刷的。

转载于:https://www.cnblogs.com/HPhone/p/4824089.html

从刷票了解如何获得客户端IP相关推荐

  1. java服务端获取客户端ip(代理)

    在没有网关或者反向代理软件情况下,java里获取客户端ip地址的方法是request.getRemoteAddr() 先解释下http协议和TCP协议: 网页默认是进行http连接了,http协议即超 ...

  2. c# 获取客户端IP地址方法

    客户端ip: Request.ServerVariables.Get("Remote_Addr").ToString();  客户端主机名: Request.ServerVaria ...

  3. JS获取客户端IP地址、MAC和主机名的7个方法汇总

    今天在搞JS(javascript)获取客户端IP的小程序,上网搜了下,好多在现在的系统和浏览器中的都无效,很无奈,在Chrome.FireFox中很少搞到直接利用ActiveX获取IP等的JS脚本. ...

  4. apache关于记录真实客户端ip和不记录健康检查日志

    由于负载均衡会转发客户端的请求到web服务器,所以web服务往往记录的是负载均衡的IP,现在可以通过下面的配置,让apache记录真实客户端IP 语法 #LogFormat  "\" ...

  5. 后台获得客户端IP地址

    2019独角兽企业重金招聘Python工程师标准>>> 通常通过request.getRemoteAddr() 取得客户端的IP地址,做鉴权和校验,逻辑没问题,那么肯定request ...

  6. HAProxy客户端IP地址的透传

    HAProxy客户端IP地址的透传 环境准备 server IP client 172.20.27.10 haproxy 172.20.27.20,192.168.27.10 nginx 192.16 ...

  7. 如何在PHP中获取客户端IP地址[重复]

    本文翻译自:How to get the client IP address in PHP [duplicate] This question already has an answer here: ...

  8. ASP.NET Core 中使用负载均衡时获取客户端 IP

    在使用负载均衡的情况下,通过 context.Connection.RemoteIpAddress 获取到的是负载均衡的 IP 地址,需要通过 X-Forwarded-For 请求头才能获取到客户端的 ...

  9. .net通过获取客户端IP地址反查出用户的计算机名

    这个功能看似很少用到,但又非常实用,看似简单,但又在其中存在很多未知因素造成让人悲痛莫名的负能量... 这是公司内部最近在使用的功能,因为是DHCP,所以有时会根据计算机名做一些统计和权限的设置. 也 ...

最新文章

  1. linux 开机自启动设置 inittab 详解
  2. mvn本地生成jar包放在mvn项目依赖(将jar包传到本地仓库)
  3. 0xc000007b应用程序无法正常启动_应用程序无法正常启动0xc0000142
  4. C#语言基础— 输入与输出
  5. kotlin字符串数组_Kotlin程序读取,遍历,反向和排序字符串数组
  6. 美团大咖:程序员35岁前应做好的技术积累
  7. python pca降维_MLK | 机器学习的降维quot;打击quot;
  8. ghost mysql_Ghost - 博客搭建
  9. Python之猜数字游戏
  10. Oracle官方PLSQL学习网址
  11. 天翼对讲机写频软件_【对讲机的那点事】摩托罗拉GM950E/I 车载台如何编程?(上)...
  12. Docker升级Wekan
  13. Android 客户端路由框架的整理和思考
  14. 下午到英东游泳馆游泳了
  15. Zuul入门实战(完整版)
  16. sphinx(斯芬克斯)mysql全文搜索引擎
  17. 分类 对应的 全连结层、activation、loss 的选择
  18. 医院信息系统(HIS)的“一个都不能少”!
  19. 关于3Dmax出现错误奔溃和中毒解决问题方法
  20. Hive内部表及外部表

热门文章

  1. Adobe Audition CC 2020中文版
  2. MySQL-基础操作之增删改查
  3. bzoj4033:[HAOI2015]树上染色
  4. Centos7将firewall替换成iptables
  5. POJ2976——Dropping tests(0/1分数规划)
  6. [HNOI2015]亚瑟王
  7. Python 生成MYSQL inser语句
  8. 使用datatables 中文排序
  9. 6.Python补充_Python之道
  10. Python安装模块出错(No module named setuptools)解决方法