curl发出请求的文件fake_ip.php
<?php $ch = curl_init(); $url = "http://localhost/target_ip.php"; $header = array( 'CLIENT-IP:58.68.44.61', 'X-FORWARDED-FOR:58.68.44.61', ); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_RETURNTRANSFER,true); $page_content = curl_exec($ch); curl_close($ch); echo $page_content; ?>
请求的目标文件target_ip.php:
<?php echo getenv('HTTP_CLIENT_IP'); echo getenv('HTTP_X_FORWARDED_FOR'); echo getenv('REMOTE_ADDR'); ?>
目标文件target_ip里面的IP打印顺序是目前很多开源系统的IP获取顺序
访问fake_ip.php,看到结果:
58.68.44.61
58.68.44.61
127.0.0.1
实例
CURL确实很强悍,可以伪造IP和来源。
1.php 请求 2.php 。
1.php代码:
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://localhost/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.jb51.net/ "); //构造来路 curl_setopt($ch, CURLOPT_HEADER, 1); $out = curl_exec($ch); curl_close($ch);
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"];
伪造成功,这是不是给“刷票”的朋友提供了很好的换IP的方案
感谢jb51,文章写的真好。
相关推荐
在本文中,我们将深入探讨如何使用PHP cURL来伪造IP来源,这是一个在某些情况下非常有用的技术,例如测试或匿名浏览。 首先,我们来看一个简单的例子,即`fake_ip.php`文件,它通过cURL向`target_ip.php`发送一个带...
因此,大多数IP检测程序会依赖`REMOTE_ADDR`来获取真实IP,这使得直接通过cURL伪造`REMOTE_ADDR`变得困难。 以下是一个简单的PHP cURL客户端(client.php)示例,展示了如何设置这些伪造的HTTP头: ```php ob_...
在本文中,我们将深入探讨如何使用PHP的cURL库来伪造IP来源、域名和用户信息。 首先,伪造IP来源和用户信息通常用于测试目的或者模拟不同环境的行为,而不是用于恶意活动,因为这可能违反网络服务的使用政策。以下...
在目标服务器端(如`curl.php`),可以通过`$_SERVER`全局变量来获取这些伪造的IP和来源信息。例如: ```php function getClientIp() { if (!empty($_SERVER["HTTP_CLIENT_IP"])) $ip = $_SERVER[...
总结一下,PHP 使用 `cURL` 伪造来源 IP 和 Referer 主要通过设置 `cURL` 的 `CURLOPT_REFERER` 和 `CURLOPT_HTTPHEADER` 选项。`X-FORWARDED-FOR` 和 `CLIENT-IP` 头字段常用于设置 IP,而 `CURLOPT_REFERER` 用于...
`curl_setopt($curl, CURLOPT_REFERER, $referer);` 设置请求的来源页面URL。 #### 2.7 保存和读取Cookie:`CURLOPT_COOKIEFILE` 和 `CURLOPT_COOKIEJAR` `curl_setopt($curl, CURLOPT_COOKIEFILE, $cookiepath);`...
首先,需要了解的是,获取QQ达人信息通常涉及到对QQ提供的开放API的访问,不过,在本实例中提到的获取QQ达人信息,可能是通过模拟HTTP请求并伪造Referer头来绕过防盗链机制。这种技术虽然具有一定的争议性,因为可能...