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

本文实例讲述了php使用CURL伪造IP和来源的方法。分享给大家供大家参考。具体分析如下:

伪造IP来源对于php来说是很简单的一件事情,我们只要利用了php的curl即可实现伪造IP来源的功能,IP地址你可以随便写.

index.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.jb51.net/ ");   //来路
curl_setopt($ch, CURLOPT_HEADER, 1);
$out = curl_exec($ch);
curl_close($ch);

curl.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.jb51.net

伪造成功,这是不是给采集的朋友提供了很好的换IP的方案,当然防被刷的朋友也要注意了.

补充:

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()函数返回的句柄.

希望本文所述对大家的php程序设计有所帮助。

(0)

相关推荐

  • Linux中curl命令和wget命令的使用介绍与比较

    本文介绍的是Linux中curl命令和wget命令,这两者都是用来下载文件的工具,下面来看看详细的介绍: 一.wget wget是linux最常用的下载命令, 一般的使用方法是: wget + 空格 + 要下载文件的url路径 例1: wget http://www.minjieren.com/wordpress-3.1-zh_CN.zip 下载文件保存到当前目录,文件名默认是url最后一个/后面的内容,这里就是 wordpress-3.1-zh_CN.zip 例2: wget -O myfil

  • Linux Shell中curl和wget使用代理IP的方法教程

    前言 大家都知道,在Linux Shell中提供两个非常实用的命令来爬取网页,它们分别是 curl 和 wget,本文将给大家详细介绍关于在Linux Shell中curl和wget使用代理IP的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看吧. curl 和 wget 使用代理 curl 支持 http.https.socks4.socks5 wget 支持 http.https 代理示例: #!/bin/bash # # curl 支持 http.https.socks4.so

  • Linux下模拟http的get/post请求(curl or wget)详解

    Linux下模拟http的get/post请求(curl or wget)详解 背景 最近项目中需要测试接口,但是测试服务器通过堡垒机才能访问,暂时又没有通过Nginx进行转发,只好直接在Linux上模拟http请求进行测试. 方法 get请求 curl "http://www.baidu.com" 如果URL指向的是一个文件或者一幅图可以直接下载到本地 curl -i "http://www.baidu.com" 显示全部信息 curl -l "http

  • 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($ch, CURLOPT_

  • PHP中使用curl伪造IP的简单方法

    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.实现PH

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

    本文实例讲述了php使用CURL伪造IP和来源的方法.分享给大家供大家参考.具体分析如下: 伪造IP来源对于php来说是很简单的一件事情,我们只要利用了php的curl即可实现伪造IP来源的功能,IP地址你可以随便写. index.php实例代码如下: 复制代码 代码如下: $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://localhost/curl.php"); curl_setopt($ch, CURLOPT_HTT

  • php 使用curl模拟ip和来源进行访问的实现方法

    对于限制了ip和来源的网站,使用正常的访问方式是无法访问的.本文将介绍一种方法,使用php的curl类实现模拟ip和来源,访问那些限制了ip和来源的网站. 1.设置页面限制ip和来源访问 server.php <?php $client_ip = getip(); $referer = getreferer(); $allow_ip = '192.168.1.100'; $allow_referer = 'http://www.jb51.net'; if($client_ip==$allow_i

  • PHP 传输会话curl函数的实例详解

    PHP 传输会话curl函数的实例详解 前言: 接手公司项目PC端负责人的重担,责任担当重大:从需求分析,画流程图,建表,编码,测试修bug,上线维护等我一个光杆司令一人完成(当然还有一个技术不错的前端配合,感谢主管的帮助),虽然累点加班多点但感觉还行吧,公司都是一个鸟样. 闲话不多说了,因为项目中经常需要调取java那边的接口,既然涉及到请求接口那就有了http的请求方式,PHP常见的是GET/POST两种当然还有其他的比如put等,java那边经常用到GET/POST/PUT/DELETE等

  • C/C++ ip地址与int类型的转换实例详解

    C/C++ ip地址与int类型的转换实例详解 前言 最近看道一个面试题目,大体意思就是将ip地址,例如"192.168.1.116"转换成int类型,同时还能在转换回去 思路 ip地址转int类型,例如ip为"192.168.1.116",相当于"."将ip地址分为了4部分,各部分对应的权值为256^3, 256^2, 256, 1,相成即可 int类型转ip地址,思路类似,除以权值即可,但是有部分字符串的操作 实现代码 #include &l

  • 对python判断ip是否可达的实例详解

    python中使用subprocess来使用shell 关于threading的用法 from __future__ import print_function import subprocess import threading def is_reachable(ip): if subprocess.call(["ping", "-c", "2", ip])==0:#只发送两个ECHO_REQUEST包 print("{0} is a

  • C#根据IP地址查询所属地区实例详解

    ip-api.com接口(解析 json需要引入Newtonsoft.Json.dll ): /// <summary> /// 根据IP 获取物理地址 /// </summary> /// <param name="ip">Ip地址</param> /// <returns></returns> public static string GetIpAddress(string ip) { string url =

  • Java根据ip地址获取归属地实例详解

    目录 引言 Java 中是如何获取 IP 属地的 首先需要写一个 IP 获取的工具类 内置的三种查询算法 使用方法 项目用到的全部依赖 引言 最近,各大平台都新增了评论区显示发言者ip归属地的功能,例如哔哩哔哩,微博,知乎等等. Java 中是如何获取 IP 属地的 主要分为以下几步 通过 HttpServletRequest 对象,获取用户的 IP 地址 通过 IP 地址,获取对应的省份.城市 首先需要写一个 IP 获取的工具类 因为每一次用户的 Request 请求,都会携带上请求的 IP 

  • Docker Swarm入门实例详解

    Swarm 在 Docker 1.12 版本之前属于一个独立的项目,在 Docker 1.12 版本发布之后,该项目合并到了 Docker 中,成为 Docker 的一个子命令.目前,Swarm 是 Docker 社区提供的唯一一个原生支持 Docker 集群管理的工具.它可以把多个 Docker 主机组成的系统转换为单一的虚拟 Docker 主机,使得容器可以组成跨主机的子网网络. 1. Swarm 认识 Swarm 是目前 Docker 官方唯一指定(绑定)的集群管理工具.Docker 1.

随机推荐