从刷票了解获得客户端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的FTP学习(四)
Oct 09 PHP
php桌面中心(三) 修改数据库
Mar 11 PHP
PHP设计模式之解释器模式的深入解析
Jun 13 PHP
php中利用explode函数分割字符串到数组
Feb 08 PHP
Windows下安装PHP单元测试环境PHPUnit图文教程
Oct 24 PHP
PHP操作MySQL事务实例
Nov 05 PHP
php随机抽奖实例分析
Mar 04 PHP
PHP精确计算功能示例
Nov 29 PHP
PHP依赖注入(DI)和控制反转(IoC)详解
Jun 12 PHP
php简单实现单态设计模式的方法分析
Jul 28 PHP
php实现微信原生支付(扫码支付)功能
May 30 PHP
基于Laravel-admin 后台的自定义页面用法详解
Sep 30 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模板引擎SMARTY
2006/10/09 PHP
一个SQL管理员的web接口
2006/10/09 PHP
PHP入门
2006/10/09 PHP
php实现从ftp服务器上下载文件树到本地电脑的程序
2009/02/10 PHP
php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
2010/12/19 PHP
用php随机生成福彩双色球号码的2种方法
2013/02/04 PHP
Codeigniter发送邮件的方法
2015/03/19 PHP
PHP基于单例模式实现的数据库操作基类
2016/01/15 PHP
Javascript打印网页部分内容的脚本
2008/11/17 Javascript
js改变img标签的src属性在IE下没反应的解决方法
2013/07/23 Javascript
纯JS实现根据CSS的class选择DOM
2014/03/22 Javascript
封装了一个支持匿名函数的Javascript事件监听器
2014/06/05 Javascript
jQuery实现默认是闭合的FAQ展开效果菜单
2015/09/14 Javascript
如何解决ligerUI布局时Center中的Tab高度大小
2015/11/24 Javascript
jquery实现无刷新验证码的简单实例
2016/05/19 Javascript
简单谈谈require模块化jquery和angular的问题
2017/06/23 jQuery
详解vue-cli项目中用json-sever搭建mock服务器
2017/11/02 Javascript
this.$toast() 了解一下?
2019/04/18 Javascript
[00:14]护身甲盾
2019/03/06 DOTA
python正则表达式之作业计算器
2016/03/18 Python
pycharm安装图文教程
2017/05/02 Python
一文总结学习Python的14张思维导图
2017/10/17 Python
Python字符串拼接六种方法介绍
2017/12/18 Python
对Pandas MultiIndex(多重索引)详解
2018/11/16 Python
Keras—embedding嵌入层的用法详解
2020/06/10 Python
python selenium 获取接口数据的实现
2020/12/07 Python
美国从事品牌鞋类零售的连锁店:Famous Footwear
2016/08/25 全球购物
澳大利亚领先的时尚内衣零售商:Bras N Things
2020/07/28 全球购物
荷兰DOD药房中文官网:DeOnlineDrogist
2020/12/27 全球购物
const和static readonly区别
2013/05/20 面试题
2014年客房部工作总结
2014/11/22 职场文书
2015年八一建军节演讲稿
2015/03/19 职场文书
家装业务员岗位职责
2015/04/03 职场文书
同步小康驻村工作简报
2015/07/20 职场文书
小学副班长竞选稿
2015/11/21 职场文书
Redis主从配置和底层实现原理解析(实战记录)
2021/06/30 Redis