从刷票了解获得客户端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 相关文章推荐
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
Apr 23 PHP
PHP在特殊字符前加斜杠的实现代码
Jul 17 PHP
关于php 接口问题(php接口主要也就是运用curl,curl函数)
Jul 01 PHP
显示youtube视频缩略图和Vimeo视频缩略图代码分享
Feb 13 PHP
PHP中cookie和session的区别实例分析
Aug 28 PHP
ThinkPHP 404页面的设置方法
Jan 14 PHP
php上传功能集后缀名判断和随机命名(强力推荐)
Sep 10 PHP
php+jQuery+Ajax实现点赞效果的方法(附源码下载)
Jul 21 PHP
php微信公众平台开发(四)回复功能开发
Dec 06 PHP
PHP 二级子目录(后台目录)设置二级域名
Mar 02 PHP
详解使用php调用微信接口上传永久素材
Apr 11 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
Sep 20 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将某个目录下面的所有文件罗列出来的方法详解
2013/06/21 PHP
php+ajax制作无刷新留言板
2015/10/27 PHP
PHP 实现字符串翻转(包含中文汉字)的实现代码
2017/04/01 PHP
PHP实现QQ登录的开原理和实现过程
2018/02/04 PHP
IE FF OPERA都可用的弹出层实现代码
2009/09/29 Javascript
Javasipt:操作radio标签详解
2013/12/30 Javascript
jQuery实现仿百度首页滑动伸缩展开的添加服务效果代码
2015/09/09 Javascript
基于JS代码实现图片在页面中旋转效果
2016/06/16 Javascript
JavaScript数据结构中栈的应用之表达式求值问题详解
2017/04/11 Javascript
Angular使用Md5加密的解决方法
2017/09/16 Javascript
原生JS实现$.param() 函数的方法
2018/08/10 Javascript
微信小程序 冒泡事件原理解析
2019/09/27 Javascript
Layui事件监听的实现(表单和数据表格)
2019/10/17 Javascript
[02:27]DOTA2英雄基础教程 莱恩
2014/01/17 DOTA
Python字符串转换成浮点数函数分享
2015/07/24 Python
如何在Python中编写并发程序
2016/02/27 Python
启动Atom并运行python文件的步骤
2018/11/09 Python
python读取txt文件中特定位置字符的方法
2018/12/24 Python
python requests.post带head和body的实例
2019/01/02 Python
selenium中get_cookies()和add_cookie()的用法详解
2020/01/06 Python
使用卷积神经网络(CNN)做人脸识别的示例代码
2020/03/27 Python
解决PyCharm IDE环境下,执行unittest不生成测试报告的问题
2020/09/03 Python
python语言time库和datetime库基本使用详解
2020/12/25 Python
如何利用CSS3制作3D效果文字具体实现样式
2013/05/02 HTML / CSS
html5中监听canvas内部元素点击事件的三种方法
2019/04/28 HTML / CSS
HTML5自定义元素播放焦点图动画的实现
2019/09/25 HTML / CSS
Parfumdreams芬兰:购买香水和化妆品
2021/02/13 全球购物
广告词串烧
2014/03/19 职场文书
公司任命书模板
2014/06/06 职场文书
教师党员个人自我剖析材料
2014/09/29 职场文书
2014年教师教学工作总结
2014/11/08 职场文书
法务专员岗位职责
2015/02/14 职场文书
教师岗位说明书
2015/09/30 职场文书
礼仪培训心得体会
2016/01/22 职场文书
在 SQL 语句中处理 NULL 值的方法
2021/06/07 SQL Server
win11怎么消除图标小盾牌?win11消除图标小盾牌解决方法
2022/08/05 数码科技