从刷票了解获得客户端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+MSSQL分页的例子
Oct 09 PHP
PHP 分页原理分析,大家可以看看
Dec 21 PHP
php入门学习知识点二 PHP简单的分页过程与原理
Jul 14 PHP
php入门学习知识点三 PHP上传
Jul 14 PHP
PHP实现提取一个图像文件并在浏览器上显示的代码
Oct 06 PHP
深入extjs与php参数交互的详解
Jun 25 PHP
smarty简单分页的实现方法
Oct 27 PHP
php中file_get_contents与curl性能比较分析
Nov 08 PHP
学习php设计模式 php实现工厂模式(factory)
Dec 07 PHP
yii用户注册表单验证实例
Dec 26 PHP
PHP最常用的正则表达式
Feb 13 PHP
PHP序列化的四种实现方法与横向对比
Nov 29 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 iconv 解决utf-8和gb2312编码转换问题
2010/04/12 PHP
PHP Laravel 上传图片、文件等类封装
2017/08/16 PHP
获取任意Html元素与body之间的偏移距离 offsetTop、offsetLeft (For:IE5+ FF1 )[
2006/12/22 Javascript
在JavaScript中通过URL传递汉字的方法
2007/04/09 Javascript
网页禁用右键实现代码(JavaScript代码)
2009/10/29 Javascript
jquery(live)中File input的change方法只起一次作用的解决办法
2011/10/21 Javascript
单击浏览器右上角的X关闭窗口弹出提示的小例子
2013/06/12 Javascript
js 时间函数应用加、减、比较、格式转换的示例代码
2013/08/23 Javascript
JavaScript函数的一些注意要点小结及js匿名函数
2015/11/10 Javascript
vue axios同步请求解决方案
2017/09/29 Javascript
Vue.js实现图片的随意拖动方法
2018/03/08 Javascript
Babel 入门教程学习笔记
2018/06/13 Javascript
jQuery实现input输入框获取焦点与失去焦点时提示的消失与显示功能示例
2019/05/27 jQuery
vue element自定义表单验证请求后端接口验证
2019/12/11 Javascript
javascript+css实现进度条效果
2020/03/25 Javascript
vue+elementUI 实现内容区域高度自适应的示例
2020/09/26 Javascript
从零学Python之hello world
2014/05/21 Python
Python中使用bidict模块双向字典结构的奇技淫巧
2016/07/12 Python
对python 多个分隔符split 的实例详解
2018/12/20 Python
Python父目录、子目录的相互调用方法
2019/02/16 Python
Flask中sqlalchemy模块的实例用法
2020/08/02 Python
CSS3 仿微信聊天小气泡实例代码
2017/04/05 HTML / CSS
纽约21世纪百货官网:Century 21
2016/08/27 全球购物
保加利亚手表、香水、化妆品和珠宝购物网站:Brasty.bg
2020/04/22 全球购物
Perfume’s Club美国官网:西班牙第一家在线美容店
2020/06/10 全球购物
开发中都用到了那些设计模式?用在什么场合?
2014/08/21 面试题
大学自我鉴定
2013/12/20 职场文书
岳父生日宴会答谢词
2014/01/13 职场文书
三查三看党性分析材料
2014/02/18 职场文书
科技节口号
2014/06/19 职场文书
党风廉正建设个人工作总结
2015/03/06 职场文书
在职人员跳槽求职信
2015/03/20 职场文书
医院党建工作总结2015
2015/05/26 职场文书
实习单位意见
2015/06/04 职场文书
nginx的zabbix 5.0安装部署的方法步骤
2021/07/16 Servers
苹果发布了MagSafe固件更新,可以不外接电源实现最高7.5W充电
2022/04/21 数码科技