很多投票都有对来路的网址和IP进行验证,但是使用CURL可以伪造成任意的网址与IP,以绕过一些简单的验证,下面举一个简单的例子。

程序运行之前,请确保 php.ini 中 extension=php_curl.dll 没有被注释掉。

test.php

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "http://localhost/test_2.php");

curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:8.8.8.8', 'CLIENT-IP:8.8.8.8')); //构造IP

curl_setopt($ch, CURLOPT_REFERER, "http://www.nowamagic.net/ "); //构造来路

curl_setopt($ch, CURLOPT_HEADER, 1);

$out = curl_exec($ch);

curl_close($ch);

?>

test.php 会向 test_2.php 发送请求。

function getClientIp() {

if (!empty($_SERVER["HTTP_CLIENT_IP"]))

$ip = $_SERVER["HTTP_CLIENT_IP"];

else if (!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))

$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];

else if (!empty($_SERVER["REMOTE_ADDR"]))

$ip = $_SERVER["REMOTE_ADDR"];

else

$ip = "err";

return $ip;

}

echo "
IP: " . getClientIp() . "";

echo "
referer: " . $_SERVER["HTTP_REFERER"];

?>

程序运行结果如下:

HTTP/1.1 200 OK Date: Tue, 01 Nov 2011 12:20:06 GMT

Server: Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11

OpenSSL/0.9.8i PHP/5.2.9 X-Powered-By: PHP/5.2.9

Content-Length: 53 Content-Type: text/html

IP: 8.8.8.8

referer: http://www.nowamagic.net/

看到了吧,IP和地址可以随意换,对于很多投票机制不完善的投票功能都可以使用这个进行刷票了。

顺便说一下,关于真实IP的事情。

一般获得用户IP都是使用$_SERVER['REMOTE_ADDR']这个环境变量,但是此变量只会纪录最后一个主机IP,所以当用户浏览器有设定Proxy时,就无法取得他的真实IP。

这时可以使用另一个环境变量$_SERVER['HTTP_X_FORWARDED_FOR'] ,它会纪录所经过的主机IP,但是只有在用户有透过Proxy时才会产生,所以可以像以下这样写来取得使用者真实IP。

if ( empty( $_SERVER['HTTP_X_FORWARDED_FOR']))

{

$myip = $_SERVER['REMOTE_ADDR'];

}

else

{

$myip = explode( ',' , $_SERVER['HTTP_X_FORWARDED_FOR']);

$myip = $myip [0];

}

echo $myip;

?>

java httpclient 伪造ip_使用CURL伪造来源网址与IP相关推荐

  1. PHP用CURL伪造IP和来源

    PHP用CURL伪造IP和来源CURL确实很强悍,可以伪造IP和来源.1.php 请求 2.php .1.php代码: $ch = curl_init(); curl_setopt($ch, CURL ...

  2. php curl伪造referer与来源IP实例

    转自:http://www.111cn.net/phper/php/69500.htm php curl伪造referer与来源IP非常的简单,今天做一个图片采集的也有做过,下面我把两个例子都整理一下 ...

  3. php curl 模拟referer,php使用curl伪造来源ip和refer的方法

    这篇文章主要介绍了关于php使用curl伪造来源ip和refer的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 本文实例讲述了php使用curl伪造来源ip和refer的方法.分 ...

  4. headerIP php_PHP使用curl伪造IP地址和header信息

    curl虽然功能强大,但是只能伪造$_SERVER["HTTP_X_FORWARDED_FOR"],对于大多数IP地址检测程序来说,$_SERVER["REMOTE_AD ...

  5. 兼容IE和FF:获取Referer的JS和PHP方法 及 PHP利用curl伪造IP和来路

    发现一个关于浏览器兼容的问题,当用JS 执行代码 window.location.href="http://justcoding.iteye.com" 来进行跳转的时候,Firef ...

  6. curl伪造reffer抓取图片资源的方法

    链接:http://blog.csdn.net/hechurui/article/details/45870041 为了批量抓一些素材,写了段程序,自动抓100多个页面的5000多张图,对方站点防盗链 ...

  7. headerIP php_PHP curl伪造IP地址和header信息代码实例

    原标题:PHP curl伪造IP地址和header信息代码实例 curl虽然功能强大,但是只能伪造$_SERVER["HTTP_X_FORWARDED_FOR"],对于大多数IP地 ...

  8. php 伪造微信浏览器头信息,php使用curl伪造浏览器访问操作示例

    本文实例讲述了php使用curl伪造浏览器访问操作.分享给大家供大家参考,具体如下: 原理 服务器主要通过User-Agent识别客户端是何种设备 User-Agent是Http协议中的一部分,属于头 ...

  9. java 自动投票 httpclient ip_投票系统刷票方式原理(突破ip限制刷票PHP版)

    先说一点:其实不算是突破ip限制,因为事实上,这个限制是在服务器端的,客户端在牛逼,也突破不了..只是可以一直刷多次票罢了 一个朋友突然发了一个网站,让我帮她投投票..我这人一项比较好说话,就帮她投了 ...

  10. CURL伪造IP和来路,还可以进行投票

    curl伪造ip和来路,还可以进行投票,但是,$_SERVER['REMOTE_ADDR']无法伪造. 客户端: 01 <?php 02 $headers['CLIENT-IP'] = '202 ...

最新文章

  1. 第四章 Controller接口控制器详解(5)——跟着开涛学SpringMVC
  2. 近期活动盘点:三创对接会——先进制造专场
  3. C# 类型实例化的语法糖--unity下诡异结果
  4. RH134 UNIT5
  5. jQuery 1.9+ ajaxStart事件无效,无法被触发的原因。
  6. 前缀和?or差分序列?
  7. (转)另一篇:VC导出数据到EXCEL
  8. Python 调用 DLL
  9. Pycharm下安装Tensorflow
  10. 软件设计师 - 常用公式
  11. Java语言所有异常类均继承自_要继承自定义异常类的继承方式必须使用 ( ) 关键字_学小易找答案...
  12. 深圳电大计算机等级考试报名时间2015,杭州2015下半年计算机等级考试报名
  13. 事件绑定完整版2016/4/21
  14. AutoCAD中的Spline曲线算法分析(二)
  15. 机器视觉检测技术之颜色视觉工具应用
  16. Win7/10/11:去除、恢复软件图标小箭头
  17. oracle 中平铺函数,oracle spatial
  18. setcpu_SetCPU中文版
  19. 写给想学Linux系统的人
  20. linux就该这么学【信号】

热门文章

  1. [2009][note]构成理想导体超材料的有源THz欺骗表面等离子激元开关——
  2. 如何使用swagger的API接口获取数据并且封装
  3. [前端案例]百行代码实现炫酷时钟
  4. 微信小程序 | 微信公众平台SpringBoot开发实例 │ 表情消息
  5. SPA单页面首屏加载慢怎么解决???
  6. Matlab 让多图排版更美观
  7. 居家办公,无需公网IP远程桌面内网电脑【免费内网穿透】
  8. android 服务英文,Android recovery 模式 中英文对照
  9. 基于lio-sam框架,教你如何进行回环检测及位姿计算
  10. 展讯通信:文章紫光收购后展讯困难重重”失实