加入收藏 | 设为首页 | 会员中心 | 我要投稿 西双版纳站长网 (https://www.0691zz.com.cn/)- 数据计算、IT业界、服务器、教程、云日志!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2022-08-04 16:07:24 所属栏目:PHP教程 来源:互联网
导读:这篇文章主要介绍了php使用CURL伪造IP和来源的方法,以实例形式详细分析了CURL伪造IP和来源的原理与实现技巧,并补充说明了PHP中的CURL函数库常用函数,需要的朋友可以参考下 本文实例讲述了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_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程序设计有所帮助。

(编辑:西双版纳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读