php curl伪造ip地址与来源示例

发布时间:2019-12-05编辑:脚本学堂
php curl伪造ip地址与来源,curl伪造ip和来源的原理与技巧,php curl函数库常用函数用法示例,一起来了解下。

php curl伪造IP地址与来源

伪造ip来源,利用php curl实现伪造IP地址来源,当然ip地址也可以随便写。

1,index.php 代码
 

复制代码 代码示例:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost/curl.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.plcxue.com/ ");  //IP来源
curl_setopt($ch, CURLOPT_HEADER, 1);
$out = curl_exec($ch);
curl_close($ch);

2、curl.php 代码
 

复制代码 代码示例:
<?php
function getClientIp() {
    if (!emptyempty($_SERVER["HTTP_CLIENT_IP"]))
        $ip = $_SERVER["HTTP_CLIENT_IP"];
    else if (!emptyempty($_SERVER["HTTP_X_FORWARDED_FOR"]))
        $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
    else if (!emptyempty($_SERVER["REMOTE_ADDR"]))
        $ip = $_SERVER["REMOTE_ADDR"];
    else
        $ip = "err";
    return $ip;
}
echo "IP: " . getClientIp() . "";
echo "referer: " . $_SERVER["HTTP_REFERER"];

用index.php 请求 curl.php,输出结果:
IP:8.8.8.8  referer:http://www.plcxue.com
伪造成功

补充:
php curl函数库(client url library function)如下:
curl_close — 关闭一个curl会话
curl_copy_handle — 拷贝一个curl连接资源的所有内容和参数
curl_errno — 返回一个包含当前会话错误信息的数字编号
curl_error — 返回一个包含当前会话错误信息的字符串
curl_exec — 执行一个curl会话
curl_getinfo — 获取一个curl连接资源句柄的信息
curl_init — 初始化一个curl会话
curl_multi_add_handle — 向curl批处理会话中添加单独的curl句柄资源
curl_multi_close — 关闭一个批处理句柄资源
curl_multi_exec — 解析一个curl批处理句柄
curl_multi_getcontent — 返回获取的输出的文本流
curl_multi_info_read — 获取当前解析的curl的相关传输信息
curl_multi_init — 初始化一个curl批处理句柄资源
curl_multi_remove_handle — 移除curl批处理句柄资源中的某个句柄资源
curl_multi_select — Get all the sockets associated with the cURL extension, which can then be "selected"
curl_setopt_array — 以数组的形式为一个curl设置会话参数
curl_setopt — 为一个curl设置会话参数
curl_version — 获取curl相关的版本信息
curl_init()函数 初始化一个curl会话,curl_init()函数唯一的一个参数是可选的,表示一个url地址.
curl_exec()函数 执行一个curl会话,唯一的参数是curl_init()函数返回的句柄.
curl_close()函数 关闭一个curl会话,唯一的参数是curl_init()函数返回的句柄.