从刷票了解获得客户端IP的方法


Posted in PHP onSeptember 21, 2015

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

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

getenv('HTTP_X_FORWARDED_FOR')
getenv('HTTP_CLIENT_IP')
getenv('REMOTE_ADDR')

HTTP_X_FORWARDED_FOR

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

一个网站由于流量过大,使用负载均衡,所以在应用程序前面放一个负载均衡器,用户无法直接访问到。
用户使用代理去访问。
用户先是使用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数据,然后欺骗他们,不过没过几天,这个漏洞被发现了,然后我就换成使用代理的方式的直接刷的。

PHP 相关文章推荐
十天学会php(1)
Oct 09 PHP
php设计模式 Observer(观察者模式)
Jun 26 PHP
探讨PHP中OO之静态关键字以及类常量的详解
Jun 07 PHP
php中的PHP_EOL换行符详细解析
Oct 26 PHP
CI框架中集成CKEditor编辑器的教程
Jun 09 PHP
php获取本周开始日期和结束日期的方法
Mar 09 PHP
PHP编程基本语法快速入门手册
Jan 07 PHP
抛弃 PHP 代价太高
Apr 26 PHP
PHP邮箱验证示例教程
Jun 01 PHP
PHP处理数组和XML之间的互相转换
Jun 02 PHP
php处理多图上传压缩代码功能
Jun 13 PHP
PHP校验15位和18位身份证号的类封装
Nov 07 PHP
fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法
Sep 20 #PHP
分享ThinkPHP3.2中关联查询解决思路
Sep 20 #PHP
使用PHPCMS搭建wap手机网站
Sep 20 #PHP
求帮忙修改个php curl模拟post请求内容后并下载文件的解决思路
Sep 20 #PHP
PHP执行SQL文件并将SQL文件导入到数据库
Sep 17 #PHP
如何使用PHP对网站验证码进行破解
Sep 17 #PHP
浅谈php+phpStorm+xdebug配置方法
Sep 17 #PHP
You might like
php简单对象与数组的转换函数代码(php多层数组和对象的转换)
2011/05/18 PHP
ThinkPHP中图片按比例切割的代码实例
2019/03/08 PHP
用正则xmlHttp实现的偷(转)
2007/01/22 Javascript
Jquery中增加参数与Json转换代码
2009/11/20 Javascript
jquery ajax提交表单数据的两种方式
2009/11/24 Javascript
javascript 面向对象全新理练之原型继承
2009/12/03 Javascript
js获取图片大小的函数代码
2011/09/20 Javascript
ASP.NET MVC中EasyUI的datagrid跨域调用实现代码
2012/03/14 Javascript
jquery中$(#form :input)与$(#form input)的区别
2014/08/18 Javascript
JavaScript实现获取某个元素相邻兄弟节点的prev与next方法
2016/01/25 Javascript
jQuery基于BootStrap样式实现无限极地区联动
2016/08/26 Javascript
jQuery使用EasyUi实现三级联动下拉框效果
2017/03/08 Javascript
JavaScript事件方法(实例讲解)
2017/06/27 Javascript
微信小程序 同步请求授权的详解
2017/08/04 Javascript
基于jQuery的左滑出现删除按钮的示例
2017/08/29 jQuery
layer设置maxWidth及maxHeight解决方案
2019/07/26 Javascript
Net微信网页开发 使用微信JS-SDK获取当前地理位置过程详解
2019/08/26 Javascript
python构造icmp echo请求和实现网络探测器功能代码分享
2014/01/10 Python
Python选择排序、冒泡排序、合并排序代码实例
2015/04/10 Python
教大家玩转Python字符串处理的七种技巧
2017/03/31 Python
详解python中的 is 操作符
2017/12/26 Python
pip命令无法使用的解决方法
2018/06/12 Python
django中上传图片分页三级联动效果的实现代码
2019/08/30 Python
python实现拼接图片
2020/03/23 Python
JAVA及PYTHON质数计算代码对比解析
2020/06/10 Python
Python自动化测试基础必备知识点总结
2021/02/07 Python
关于PySnooper 永远不要使用print进行调试的问题
2021/03/04 Python
ALDI奥乐齐官方海外旗舰店:德国百年超市
2017/12/27 全球购物
自我评价怎么写好呢?
2013/12/05 职场文书
最新的互联网创业计划书
2014/01/10 职场文书
体育教学随笔感言
2014/02/24 职场文书
企业后勤岗位职责
2014/02/28 职场文书
说明书怎么写
2014/05/06 职场文书
建筑工地大门标语
2014/06/18 职场文书
工作简报范文
2015/07/21 职场文书
python基于tkinter制作下班倒计时工具
2021/04/28 Python