php使用curl伪造来源ip和refer的方法示例


Posted in PHP onMay 08, 2018

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

php curl伪造来源ip和来路refer实例代码1:

//随机IP
function Rand_IP(){
 $ip2id= round(rand(600000, 2550000) / 10000); //第一种方法,直接生成
 $ip3id= round(rand(600000, 2550000) / 10000);
 $ip4id= round(rand(600000, 2550000) / 10000);
 //下面是第二种方法,在以下数据中随机抽取
 $arr_1 = array("218","218","66","66","218","218","60","60","202","204","66","66","66","59","61","60","222","221","66","59","60","60","66","218","218","62","63","64","66","66","122","211");
 $randarr= mt_rand(0,count($arr_1)-1);
 $ip1id = $arr_1[$randarr];
 return $ip1id.".".$ip2id.".".$ip3id.".".$ip4id;
}
//抓取页面内容
function Curl($url){
  $ch2 = curl_init();
  $user_agent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36";//模拟windows用户正常访问
  curl_setopt($ch2, CURLOPT_URL, $url);
  curl_setopt($ch2, CURLOPT_TIMEOUT, 10);
  curl_setopt($ch2, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:'.Rand_IP(), 'CLIENT-IP:'.Rand_IP()));
//追踪返回302状态码,继续抓取
  curl_setopt($ch2, CURLOPT_HEADER, true); 
  curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true); 
  curl_setopt($ch2, CURLOPT_FOLLOWLOCATION, true);
  curl_setopt($ch2, CURLOPT_NOBODY, false);
  curl_setopt($ch2, CURLOPT_REFERER, 'http://www.baidu.com/');//模拟来路
  curl_setopt($ch2, CURLOPT_USERAGENT, $user_agent);
  $temp = curl_exec($ch2);
  curl_close($ch2);
  return $temp;
}

php curl伪造来源ip和来路refer实例代码2:

<?php
$postData = array(
 "user" => "root",
 "pwd" => "123456"
);
$headerIp = array(
 'CLIENT-IP:88.88.88.88',
 'X-FORWARDED-FOR:88.88.88.88',
);
$refer = 'http://www.baidu.com';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://localhost/phpdemo/test.php');
//伪造来源refer
curl_setopt($ch, CURLOPT_REFERER, $refer);
//伪造来源ip
curl_setopt($ch, CURLOPT_HTTPHEADER, $headerIp);
//提交post传参
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
//...各种curl属性参数设置
$out_put = curl_exec($ch);
curl_close($ch);
var_dump($out_put);

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

PHP 相关文章推荐
用Apache反向代理设置对外的WWW和文件服务器
Oct 09 PHP
Ajax PHP简单入门教程代码
Apr 25 PHP
坏狼的PHP学习教程之第2天
Jun 15 PHP
thinkphp模板赋值与替换实例简述
Nov 24 PHP
php中$_POST与php://input的区别实例分析
Jan 07 PHP
使用图灵api创建微信聊天机器人
Jul 23 PHP
php使用curl通过代理获取数据的实现方法
May 16 PHP
CentOS系统中PHP安装扩展的方式汇总
Apr 09 PHP
php实现的PDO异常处理操作分析
Dec 27 PHP
详解PHP 二维数组排序保持键名不变
Mar 06 PHP
PHP下载大文件失败并限制下载速度的实例代码
May 10 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
Mar 29 PHP
PHP+ajax实现获取新闻数据简单示例
May 08 #PHP
PHP 计算两个特别大的整数实例代码
May 07 #PHP
详解PHP发送邮件知识点
May 06 #PHP
PHP学习笔记之session
May 06 #PHP
PHP中cookie知识点学习
May 06 #PHP
分析php://output和php://stdout的区别
May 06 #PHP
PHP 布尔值的自增与自减的实现方法
May 03 #PHP
You might like
用PHP即时捕捉PHP中的错误并发送email通知的实现代码
2013/01/19 PHP
PHP实现对站点内容外部链接的过滤方法
2014/09/10 PHP
php实现文件预览功能
2017/05/23 PHP
PHP删除数组中指定下标的元素方法
2018/02/03 PHP
PHP设计模式之委托模式定义与用法简单示例
2018/08/13 PHP
javascript 简单高效判断数据类型 系列函数 By shawl.qiu
2007/03/06 Javascript
浅谈Javascript数组(推荐)
2016/05/17 Javascript
Bootstrap图片轮播组件使用实例解析
2016/06/30 Javascript
jQuery 操作 HTML 元素和属性的方法
2018/11/12 jQuery
js canvas实现写字动画效果
2018/11/30 Javascript
浅谈vue异步数据影响页面渲染
2019/10/29 Javascript
jQuery实现带进度条的轮播图
2020/09/13 jQuery
解决vue使用vant轮播组件swipe + flex时文字抖动问题
2021/01/07 Vue.js
[53:52]OG vs EG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
Python 数据结构之堆栈实例代码
2017/01/22 Python
Python网络编程 Python套接字编程
2017/09/13 Python
浅谈Tensorflow由于版本问题出现的几种错误及解决方法
2018/06/13 Python
Python3.6简单的操作Mysql数据库的三个实例
2018/10/17 Python
python生成多个只含0,1元素的随机数组或列表的实例
2018/11/12 Python
Flask教程之重定向与错误处理实例分析
2019/08/01 Python
Pytorch对Himmelblau函数的优化详解
2020/02/29 Python
Python类中的装饰器在当前类中的声明与调用详解
2020/04/15 Python
Matplotlib自定义坐标轴刻度的实现示例
2020/06/18 Python
BOSE德国官网:尽探索之力,享音乐之极
2016/12/11 全球购物
惊艳的手工时装首饰:Migonne Gavigan
2018/02/23 全球购物
Sarenza德国:法国最大的时尚鞋和包包网上商店
2019/06/08 全球购物
电子商务毕业生求职信
2013/11/10 职场文书
高中军训感言500字
2014/02/24 职场文书
餐厅采购员岗位职责
2014/03/06 职场文书
初三学习决心书
2014/03/11 职场文书
施工单位安全责任书
2014/07/24 职场文书
2014入党积极分子批评与自我批评思想汇报
2014/09/20 职场文书
法定代表人授权委托书范本
2014/10/07 职场文书
工程安全生产协议书
2014/11/21 职场文书
公司行政管理制度范本
2015/08/05 职场文书
详细聊聊浏览器是如何看闭包的
2021/11/11 Javascript