从刷票了解获得客户端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产生动态的影像图
Oct 09 PHP
php横向重复区域显示二法
Sep 25 PHP
Zend的Registry机制的使用说明
May 02 PHP
基于PHP array数组的教程详解
Jun 05 PHP
完美解决:Apache启动问题―(OS 10022)提供了一个无效的参数
Jun 08 PHP
服务器变量 $_SERVER 的深入解析
Jul 02 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
Sep 22 PHP
php获取服务器操作系统相关信息的方法
Oct 08 PHP
Yii框架弹出窗口组件CJuiDialog用法分析
Jan 07 PHP
自制PHP框架之模型与数据库
May 07 PHP
PHP长连接实现与使用方法详解
Feb 11 PHP
ThinkPHP框架实现导出excel数据的方法示例【基于PHPExcel】
May 12 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 array_map()数组函数使用说明
2011/07/12 PHP
深入解读php中关于抽象(abstract)类和抽象方法的问题分析
2014/01/03 PHP
thinkphp实现上一篇与下一篇的方法
2014/12/08 PHP
php实现可用于mysql,mssql,pg数据库操作类
2014/12/13 PHP
php恢复数组的key为数字序列的方法
2015/04/28 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
用javascript实现自定义标签
2007/05/08 Javascript
js字符编码函数区别分析
2008/06/05 Javascript
了解一点js的Eval函数
2012/07/26 Javascript
jquery验证表单中的单选与多选实例
2013/08/18 Javascript
jquery cookie的用法总结
2013/11/18 Javascript
jQuery 仿百度输入标签插件附效果图
2014/07/04 Javascript
jQuery结合CSS制作动态的下拉菜单
2015/10/27 Javascript
JavaScript模拟数组合并concat
2016/03/06 Javascript
JavaScript编写一个贪吃蛇游戏
2017/03/09 Javascript
node.js中axios使用心得总结
2017/11/29 Javascript
JS/HTML5游戏常用算法之路径搜索算法 A*寻路算法完整实例
2018/12/14 Javascript
基于Koa(nodejs框架)对json文件进行增删改查的示例代码
2019/02/02 NodeJs
vue-cli3配置与跨域处理方法
2019/08/17 Javascript
vue 组件内获取actions的response方式
2019/11/08 Javascript
[43:57]LGD vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
深入解析Python中的集合类型操作符
2015/08/19 Python
Python使用Mechanize模块编写爬虫的要点解析
2016/03/31 Python
12步入门Python中的decorator装饰器使用方法
2016/06/20 Python
Python字符串处理实例详解
2017/05/18 Python
python3.5 email实现发送邮件功能
2018/05/22 Python
在django view中给form传入参数的例子
2019/07/19 Python
python中pandas库中DataFrame对行和列的操作使用方法示例
2020/06/14 Python
python raise的基本使用
2020/09/10 Python
CSS3使用transition实现的鼠标悬停淡入淡出
2015/01/09 HTML / CSS
html5 Canvas实现图片旋转的示例
2018/01/15 HTML / CSS
纽约21世纪百货官网:Century 21
2016/08/27 全球购物
给实习单位的感谢信
2014/02/01 职场文书
国贸专业的职业规划书
2014/03/15 职场文书
小学六年级学生评语
2014/04/22 职场文书
2015年第31个教师节致辞
2015/07/31 职场文书