PHP用CURL伪造来源IP与来源URL地址程序代码

test.php文件

 代码如下 复制代码

<?php
ob_start();
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.xxx.cn/test/test2.php");
curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:1.1.1.1', 'CLIENT-IP:2.2.2.2'));  //伪造IP
curl_setopt($ch, CURLOPT_REFERER, "http://www.111cn.net/ ");   //伪造来源网址
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_exec($ch);
curl_close($ch);

$out = ob_get_contents();
ob_clean();
echo $out;

?>

test2.php文件代码如下

 代码如下 复制代码

<?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 "<br />IP: " . getClientIp() . "  HTTP_CLIENT_IP-: " . $_SERVER["HTTP_CLIENT_IP"] . "    HTTP_X_FORWARDED_FOR-: " . $_SERVER["HTTP_X_FORWARDED_FOR"] . "    REMOTE_ADDR-: " . $_SERVER["REMOTE_ADDR"] . "   ";
echo "<br />referer: " . $_SERVER["HTTP_REFERER"];
?>

执行结果:

HTTP/1.1 200 OK
Server: DWS/01.03Z33
Date: Mon, 09 Jun 2014 09:27:09 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding

<br />IP: 2.2.2.2  HTTP_CLIENT_IP-: 2.2.2.2    HTTP_X_FORWARDED_FOR-: 1.1.1.1   
REMOTE_ADDR-: 127.0.0.1   <br />referer: http://www.111cn.net/

但是暂时还无法伪造骗过:

$_SERVER["REMOTE_ADDR"]。

所以建议大家记录IP时使用$_SERVER["REMOTE_ADDR"]。

时间: 2024-09-22 01:45:22

PHP用CURL伪造来源IP与来源URL地址程序代码的相关文章

用VBS设置静态IP和DNS服务器地址的代码_vbs

核心代码一: strIPAddress = Array("192.168.0.148") strSubnetMask = Array("255.255.255.0") strGateway = Array("192.168.0.1") strGatewayMetric = Array(1) arrDNSServers = Array("192.168.0.1","192.168.0.2") strCompu

PHP中使用curl伪造IP的简单方法_php技巧

curl简介:curl是一个利用URL语法在命令行方式下工作的文件传输工具.它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP.curl同样支持HTTPS认证,HTTP POST方法, HTTP PUT方法, FTP上传, HTTP上传, 代理服务器, cookies, 用户名/密码认证, 下载文件断点续传等等,功能十分强大. PHP中常用curl实现的功能:    1.实现远程获取和采集内容    2.实现PHP

php使用CURL伪造IP和来源实例详解

这篇文章主要介绍了php使用CURL伪造IP和来源的方法,以实例形式详细分析了CURL伪造IP和来源的原理与实现技巧,并补充说明了PHP中的CURL函数库常用函数,需要的朋友可以参考下       本文实例讲述了php使用CURL伪造IP和来源的方法.分享给大家供大家参考.具体分析如下: 伪造IP来源对于php来说是很简单的一件事情,我们只要利用了php的curl即可实现伪造IP来源的功能,IP地址你可以随便写. index.php实例代码如下: 代码如下: $ch = curl_init();

CURL HTTP构造请求Header实现伪造来源IP的说明

CURL HTTP构造请求Header实现伪造来源IP的说明 伪造的只是X-FORWARDED-FOR和CLIENT-IP,REMOTE_ADDR伪造不了. $_SERVER['REMOTE_ADDR']是由nginx传递给php的参数,就代表了与当前nginx直接通信的客户端的 IP(是不能伪造的) PHP获取客户端IP,代理服务器IP,共有如下几类情况: 一.没有使用代理服务器的情况: REMOTE_ADDR = 您的 IP HTTP_VIA = 没数值或不显示 HTTP_X_FORWARD

PHP curl封装类(包含读取/写入/读写cookie/post/代理/伪造来源IP)

PHP的curl能够实现许多非常强大的http操作,不过curl原生的写法有些蛋疼,于是自己封装了一个类. 本段代码部分代码来源网络,我自己添加了注释和一些小修改,目前实现的功能有: 构造post参数 读取/写入/读写cookie 伪造来源IP 设置代理 代码会不定时更新.  代码如下 复制代码 <?php /** *File:curl.class.php *Createdon:2014-8-26,8:34:01 *copyright小皓(C)2013-2099版权所有 *www.haosblo

PHP怎么CURL伪造IP和来源实现程序

curl默认是未被启用的,启用方法. 启用 cURL 设置 如果你是在Windows平台下,那么非常简单,你需要改一改你的php.ini文件的设置,找到php_curl.dll,并取消前面的分号注释就行了.如下所示: //取消下在的注释  代码如下 复制代码  extension=php_curl.dll  如果你是在Linux下面,那么,你需要重新编译你的PHP了,编辑时,你需要打开编译参数--在configure命令上加上"–with-curl" 参数. 简单测试实例  代码如下

php curl 伪造IP来源实例

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(

PHP用CURL伪造IP和来源

来源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, &q

php CURL伪造IP和来源实现程序

实例  代码如下 复制代码 $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.111cn.n