从刷票了解获得客户端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 和 MySQL 基础教程(四)
Oct 09 PHP
PHP产生随机字符串函数
Dec 06 PHP
php实现的在线人员函数库
Apr 09 PHP
php 文件上传类代码
Aug 06 PHP
php制作unicode解码工具(unicode编码转换器)代码分享
Dec 24 PHP
php基于str_pad实现卡号不足位数自动补0的方法
Nov 12 PHP
PHP动态输出JavaScript代码实例
Feb 12 PHP
PHP判断上传文件类型的解决办法
Oct 20 PHP
搭建Vim为自定义的PHP开发工具的一些技巧
Dec 11 PHP
php将一维数组转换为每3个连续值组成的二维数组
May 06 PHP
PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法
Jun 20 PHP
PHP面向对象程序设计之多态性的应用示例
Dec 19 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
PHP4在Windows2000下的安装
2006/10/09 PHP
CodeIgniter框架提示Disallowed Key Characters的解决办法
2014/04/21 PHP
ThinkPHP自动转义存储富文本编辑器内容导致读取出错的解决方法
2014/08/08 PHP
PHP表单验证内容是否为空的实现代码
2016/11/14 PHP
fireworks菜单生成器mm_menu.js在 IE 7.0 显示问题的解决方法
2009/10/20 Javascript
Jquery实现无刷新DropDownList联动实现代码
2010/03/08 Javascript
js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)
2013/02/02 Javascript
jquery打开直接跳到网页最下面、最低端实现代码
2013/04/22 Javascript
jquery处理json对象
2014/11/03 Javascript
简述JavaScript提交表单的方式 (Using JavaScript Submit Form)
2016/03/18 Javascript
Vue.js结合bootstrap实现分页控件
2017/03/10 Javascript
对存在JavaScript隐式类型转换的四种情况的总结(必看篇)
2017/08/31 Javascript
微信小程序提取公用函数到util.js及使用方法示例
2019/01/10 Javascript
vue的列表交错过渡实现代码示例
2019/05/05 Javascript
vue实现动态按钮功能
2019/05/13 Javascript
node.js制作一个简单的登录拦截器
2020/02/10 Javascript
jQuery中event.target和this的区别详解
2020/08/13 jQuery
[02:54]DOTA2英雄基础教程 暗影牧师戴泽
2013/12/05 DOTA
Python 条件判断的缩写方法
2008/09/06 Python
Python实现简单状态框架的方法
2015/03/19 Python
详解numpy.meshgrid()方法使用
2019/08/01 Python
Pytorch自己加载单通道图片用作数据集训练的实例
2020/01/18 Python
python字符串常用方法及文件简单读写的操作方法
2020/03/04 Python
使用python计算三角形的斜边例子
2020/04/15 Python
在服务器上安装python3.8.2环境的教程详解
2020/04/26 Python
python文件读取失败怎么处理
2020/06/23 Python
千禧酒店及度假村官方网站:Millennium Hotels and Resorts
2019/05/10 全球购物
琳达·法罗眼镜英国官网:Linda Farrow英国
2021/01/19 全球购物
音乐学个人的自荐书范文
2013/11/26 职场文书
培训主管岗位职责
2014/02/01 职场文书
小学生暑假感言
2014/02/06 职场文书
道路运输企业安全生产责任书
2014/07/28 职场文书
工地例会施工汇报材料
2014/08/22 职场文书
工作作风承诺书
2014/08/30 职场文书
英语复习计划
2015/01/19 职场文书
股东出资协议书
2016/03/21 职场文书