从刷票了解获得客户端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的开发框架的现状和展望
Mar 16 PHP
关于BIG5-HKSCS的解决方法
Mar 20 PHP
用PHP读取flv文件的播放时间长度
Sep 03 PHP
浅析php中jsonp的跨域实例
Jun 21 PHP
深入解读php中关于抽象(abstract)类和抽象方法的问题分析
Jan 03 PHP
ThinkPHP实现ajax仿官网搜索功能实例
Dec 02 PHP
PHP浮点数的一个常见问题
Mar 10 PHP
Yii视图CGridView列表用法实例分析
Jul 12 PHP
PHP将字符串首字母大小写转换的实例
Jan 21 PHP
Yii2 中实现单点登录的方法
Mar 09 PHP
关于php unset对json_encode的影响详解
Nov 14 PHP
TP5框架实现签到功能的方法分析
Apr 05 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拦截器之__set()与__get()的理解与使用方法
2016/10/18 PHP
onsubmit阻止form表单提交与onclick的相关操作
2010/09/03 Javascript
jquery下checked取值问题的解决方法
2012/08/09 Javascript
一个背景云变换js特效 鼠标移动背景云变化
2012/12/28 Javascript
js中return false(阻止)的用法
2013/08/14 Javascript
什么是Node.js?Node.js详细介绍
2014/06/01 Javascript
一个实用的图片切换支持点击切换和自动轮播
2014/09/09 Javascript
5个JavaScript经典面试题
2014/10/13 Javascript
jQuery on方法传递参数示例
2014/12/09 Javascript
JavaScript实现文字与图片拖拽效果的方法
2015/02/16 Javascript
JavaScript中getUTCSeconds()方法的使用详解
2015/06/11 Javascript
JavaScript的History API使搜索引擎抓取AJAX内容
2015/12/07 Javascript
JS禁止浏览器右键查看元素或按F12审查元素自动关闭页面示例代码
2017/09/07 Javascript
Three.js利用dat.GUI如何简化试验流程详解
2017/09/26 Javascript
JavaScript实现左侧菜单效果
2017/12/14 Javascript
centos 上快速搭建ghost博客方法分享
2018/05/23 Javascript
微信小程序页面上下滚动效果
2020/11/18 Javascript
nodejs一个简单的文件服务器的创建方法
2019/09/13 NodeJs
如何区分vue中的v-show 与 v-if
2020/09/08 Javascript
Python中input与raw_input 之间的比较
2017/08/20 Python
python unittest实现api自动化测试
2018/04/04 Python
python利用thrift服务读取hbase数据的方法
2018/12/27 Python
vue常用指令代码实例总结
2020/03/16 Python
利用 PyCharm 实现本地代码和远端的实时同步功能
2020/03/23 Python
Python如何读取、写入JSON数据
2020/07/28 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
2020/09/17 Python
简单介绍HTML5中的文件导入
2015/05/08 HTML / CSS
Kathmandu澳洲户外商店:新西兰户外运动品牌
2017/11/12 全球购物
北美个性化礼品商店:Things Remembered
2018/06/12 全球购物
最热门的自我评价
2013/12/30 职场文书
会计学专业学生的求职信范文
2014/01/27 职场文书
竞选生活委员演讲稿
2014/04/28 职场文书
房屋租赁合同解除协议书
2014/10/11 职场文书
2015婚礼主持词开场白
2015/05/28 职场文书
2016党性教育学习心得体会
2016/01/21 职场文书
PHP中strval()函数实例用法
2021/06/07 PHP