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 相关文章推荐
实现“上一页”和“下一页按钮
Oct 09 PHP
基于文本的访客签到簿
Oct 09 PHP
php的memcached客户端memcached
Jun 14 PHP
PHP插入排序实现代码
Apr 04 PHP
php中mt_rand()随机数函数用法
Nov 24 PHP
PHP调用Linux命令权限不足问题解决方法
Feb 07 PHP
PHP生成树的方法
Jul 28 PHP
PHP中模拟链表和链表的基本操作示例
Feb 27 PHP
php简单统计在线人数的方法
May 10 PHP
详解PHP使用日期时间处理器Carbon人性化显示时间
Aug 10 PHP
TP5框架实现自定义分页样式的方法示例
Apr 05 PHP
php封装实现钉钉机器人报警接口的示例代码
Aug 08 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遍历目录并返回统计目录大小
2014/06/09 PHP
Yii框架模拟组件调用注入示例
2019/11/11 PHP
不用构造函数(Constructor)new关键字也能实现JavaScript的面向对象
2013/01/11 Javascript
图片延迟加载的实现代码(模仿懒惰)
2013/03/29 Javascript
解析DHTML,JavaScript,DOM,BOM以及WEB标准的描述
2013/06/19 Javascript
原始的js代码和jquery对比体会
2013/09/10 Javascript
php+js实现倒计时功能
2014/06/02 Javascript
JS数组的遍历方式for循环与for...in
2014/07/31 Javascript
javascript实现手机震动API代码
2015/08/05 Javascript
JavaScript的jQuery库中ready方法的学习教程
2015/08/14 Javascript
基于jquery日历价格、库存等设置插件
2020/07/05 jQuery
Vue 路由 过渡动效 数据获取方法
2018/07/31 Javascript
vue3.0 CLI - 2.6 - 组件的复用入门教程
2018/09/14 Javascript
详解jQuery如何实现模糊搜索
2019/05/10 jQuery
jquery实现手风琴案例
2020/05/04 jQuery
VSCode launch.json配置详细教程
2020/06/18 Javascript
javascript实现前端分页功能
2020/11/26 Javascript
Python中使用异常处理来判断运行的操作系统平台方法
2015/01/22 Python
Python轻量级ORM框架Peewee访问sqlite数据库的方法详解
2017/07/20 Python
python网络爬虫之如何伪装逃过反爬虫程序的方法
2017/11/23 Python
不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)
2019/04/16 Python
用python3读取python2的pickle数据方式
2019/12/25 Python
python实现的分层随机抽样案例
2020/02/25 Python
解决keras backend 越跑越慢问题
2020/06/18 Python
Python2.6版本pip安装步骤解析
2020/08/17 Python
Python实现哲学家就餐问题实例代码
2020/11/09 Python
编写一子程序,将一链表倒序,即使链表表尾变表头,表头变表尾
2016/02/10 面试题
TCP/IP的分层模型
2013/10/27 面试题
八年级英语教学反思
2014/01/09 职场文书
婚礼新郎父母答谢词
2014/01/16 职场文书
电焊工岗位工作职责
2014/07/09 职场文书
群众路线个人自我剖析材料
2014/10/07 职场文书
2015年后勤工作总结范文
2015/04/08 职场文书
酒店宣传语大全
2015/07/13 职场文书
《跨越海峡的生命桥》教学反思
2016/02/18 职场文书
一篇文章带你搞懂Python类的相关知识
2021/05/20 Python