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 相关文章推荐
基于HTTP长连接的&quot;服务器推&quot;技术的php 简易聊天室
Oct 31 PHP
php Memcache 中实现消息队列
Nov 24 PHP
php下使用SimpleXML 处理XML 文件
Feb 27 PHP
使用cookie实现统计访问者登陆次数
Jun 08 PHP
浅析HTTP消息头网页缓存控制以及header常用指令介绍
Jun 28 PHP
PHP strstr 函数判断字符串是否否存在的实例代码
Sep 28 PHP
php统计文章排行示例
Mar 04 PHP
PHP中strlen()和mb_strlen()的区别浅析
Jun 19 PHP
PHP验证码生成原理和实现
Jan 24 PHP
PHP文件缓存smarty模板应用实例分析
Feb 26 PHP
yii2学习教程之5种内置行为类详解
Aug 03 PHP
PHP常见数组排序方法小结
Aug 20 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和数据库结合的一个简单的web实例 代码分析 (php初学者)
2011/07/28 PHP
php float不四舍五入截取浮点型字符串方法总结
2013/10/28 PHP
PHP积分兑换接口实例
2015/02/09 PHP
详解ThinkPHP3.2.3验证码显示、刷新、校验
2016/12/29 PHP
对textarea框的代码调试,而且功能上使用非常方便,酷
2006/06/30 Javascript
Javascript 同时提交多个Web表单的方法
2009/02/19 Javascript
很好用的js日历算法详细代码
2013/03/07 Javascript
jquery中获取id值方法小结
2013/09/22 Javascript
JS获取Table中td值的方法
2015/03/19 Javascript
在AngularJS中使用AJAX的方法
2015/06/17 Javascript
Javascript编程中几种继承方式比较分析
2015/11/28 Javascript
JavaScript数据结构之广义表的定义与表示方法详解
2017/04/12 Javascript
Vue.js学习笔记之常用模板语法详解
2017/07/25 Javascript
Vue弹出菜单功能的实现代码
2018/09/12 Javascript
详解Vue项目中出现Loading chunk {n} failed问题的解决方法
2018/09/14 Javascript
pm2发布node配置文件ecosystem.json详解
2019/05/15 Javascript
vue导航栏部分的动态渲染实例
2019/11/01 Javascript
js实现踩五彩块游戏
2020/02/08 Javascript
简明 Python 基础学习教程
2007/02/08 Python
Python中os和shutil模块实用方法集锦
2014/05/13 Python
Python中eval带来的潜在风险代码分析
2017/12/11 Python
python dataframe NaN处理方式
2019/12/26 Python
Python加密模块的hashlib,hmac模块使用解析
2020/01/02 Python
Python3列表List入门知识附实例
2020/02/09 Python
python tkinter之顶层菜单、弹出菜单实例
2020/03/04 Python
python MultipartEncoder传输zip文件实例
2020/04/07 Python
使用JS+CSS3技术:让你的名字动起来
2013/04/27 HTML / CSS
戴森西班牙官网:Dyson西班牙
2020/02/04 全球购物
2014学校庆三八妇女节活动总结
2014/03/01 职场文书
三爱活动实施方案
2014/03/19 职场文书
企业金融服务方案
2014/06/03 职场文书
税务会计岗位职责
2015/04/02 职场文书
单位介绍信格式范文
2015/05/04 职场文书
花木兰观后感
2015/06/10 职场文书
初中政教处工作总结
2015/08/12 职场文书
如何开发一个渐进式Web应用程序PWA
2021/05/10 Javascript