我的编程空间,编程开发者的网络收藏夹
学习永远不晚

php如何模拟不同ip访问

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

php如何模拟不同ip访问

今天小编给大家分享一下php如何模拟不同ip访问的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

php模拟不同ip访问的方法:1、设置页面限制ip和来源访问;2、使用curl正常访问;3、使用curl模拟ip和来源进行访问,代码如“curl_setopt($ch, CURLOPT_HTTPHEADER, array('CLIENT-IP: ip','X-FORWARDED-FOR: ip'));”。

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

对于限制了ip和来源的网站,使用正常的访问方式是无法访问的。本文将介绍一种方法,使用php的curl类实现模拟ip和来源,访问那些限制了ip和来源的网站。

设置页面限制ip和来源访问

server.php

<?php $client_ip = getip();$referer = getreferer(); $allow_ip = '192.168.1.100';$allow_referer = 'https://www.jb51.net'; if($client_ip==$allow_ip && strpos($referer, $allow_referer)===0){  echo 'allow access';}else{  echo 'deny access';}  // 获取访问者ipfunction getip(){  if(!empty($_SERVER['HTTP_CLIENT_IP'])){    $cip = $_SERVER['HTTP_CLIENT_IP'];  }elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){    $cip = $_SERVER['HTTP_X_FORWARDED_FOR'];  }elseif(!empty($_SERVER['REMOTE_ADDR'])){    $cip = $_SERVER['REMOTE_ADDR'];  }else{    $cip = '';  }  return $cip;} // 获取访问者来源function getreferer(){  if(isset($_SERVER['HTTP_REFERER'])){    return $_SERVER['HTTP_REFERER'];  }  return '';} ?>

使用curl正常访问

<?phpfunction doCurl($url, $data=array(), $header=array(), $timeout=30){   $ch = curl_init();  curl_setopt($ch, CURLOPT_URL, $url);  curl_setopt($ch, CURLOPT_HTTPHEADER, $header);  curl_setopt($ch, CURLOPT_POST, true);  curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);   curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);   $response = curl_exec($ch);   if($error=curl_error($ch)){    die($error);  }   curl_close($ch);   return $response; } // 调用$url = 'http://www.example.com/server.php';$response = doCurl($url); echo $response;?>

返回 deny access

使用curl模拟ip和来源进行访问

模拟来源

curl_setopt($ch, CURLOPT_REFERER, '来源');

模拟ip

curl_setopt($ch, CURLOPT_HTTPHEADER, array('CLIENT-IP: 模拟ip','X-FORWARDED-FOR: 模拟ip'));

完整代码如下:

<?phpfunction doCurl($url, $data=array(), $header=array(), $referer='', $timeout=30){   $ch = curl_init();  curl_setopt($ch, CURLOPT_URL, $url);  curl_setopt($ch, CURLOPT_HTTPHEADER, $header);  curl_setopt($ch, CURLOPT_POST, true);  curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);   curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);   // 模拟来源  curl_setopt($ch, CURLOPT_REFERER, $referer);   $response = curl_exec($ch);   if($error=curl_error($ch)){    die($error);  }   curl_close($ch);   return $response; } // 调用$url = 'http://www.example.com/server.php';$data = array(); // 设置IP$header = array(  'CLIENT-IP: 192.168.1.100',  'X-FORWARDED-FOR: 192.168.1.100'); // 设置来源$referer = 'https://www.jb51.net/'; $response = doCurl($url, $data, $header, $referer, 5); echo $response;?>

返回 allow access

以上就是“php如何模拟不同ip访问”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

php如何模拟不同ip访问

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

php如何模拟不同ip访问

今天小编给大家分享一下php如何模拟不同ip访问的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。php模拟不同ip访问的方法:
2023-07-04

thinkphp如何根据设备访问不同模板

今天小编给大家分享一下thinkphp如何根据设备访问不同模板的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。thinkphp
2023-07-04

云虚拟主机公网ip访问不了如何解决

如果云虚拟主机的公网IP无法访问,可能是以下几个原因导致:1. 防火墙设置:检查云虚拟主机的安全组或防火墙规则,确保已经允许所需的入口流量。如果有特定的端口需要开放,请确保已正确设置。2. 网络配置问题:检查网络配置,确保网络的连接和路由设
2023-09-20

如果功能在不同模块中如何访问数据库?

php小编子墨在这里为大家解答一个常见的问题:如果在不同模块中访问数据库,应该如何操作呢?在开发过程中,我们经常需要在不同的功能模块中访问数据库,这涉及到如何管理数据库连接和执行数据库操作的问题。为了解决这个问题,我们可以采用多种方式,例如
如果功能在不同模块中如何访问数据库?
2024-02-10

vue项目如何实现ip和localhost同时访问

这篇文章主要介绍了vue项目如何实现ip和localhost同时访问,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-11-13

php如何实现禁止单个ip访问

这篇文章主要介绍了php如何实现禁止单个ip访问,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php实现禁止单个ip访问的方法:首先创建一个PHP示例文件;然后通过“$_SE
2023-06-14

php如何禁止国内ip访问网站

这篇文章主要讲解了“php如何禁止国内ip访问网站”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何禁止国内ip访问网站”吧!php禁止国内ip访问网站的方法:1、通过“$_SERVE
2023-06-25

云服务器ip不能访问如何解决

云服务器IP无法访问的解决方案无法访问云服务器IP可能有多种原因。本指南提供分步解决方法,包括检查网络连接、验证IP地址、检查端口和服务、查看防火墙和安全组、检查负载均衡、DNS设置、应用程序配置、路由和服务器状态。如无法自行解决问题,请联系服务提供商以获得额外支持。
云服务器ip不能访问如何解决
2024-04-11

云服务器ip不能访问如何解决

如果云服务器的IP地址无法访问,可以尝试以下解决方法:1. 检查网络配置:确认服务器的网络配置是否正确,包括IP地址、子网掩码、网关等是否设置正确。2. 检查安全组规则:如果使用云服务提供商的安全组功能,确保已经正确配置了入站和出站规则,允
2023-09-25

云服务器用ip访问不了如何解决

云服务器无法通过IP访问的故障诊断和解决方法:检查IP地址是否正确。检查防火墙规则是否允许访问。验证网络路由是否正确。检查安全组是否允许访问。检查网卡是否正常工作。确保操作系统配置允许远程连接。检查DNS配置是否正确。8.排查其他可能原因。解决步骤:逐一检查故障排除步骤。联系客服寻求技术支持。记录故障排除过程和措施。
云服务器用ip访问不了如何解决
2024-04-10

redis启动实际IP访问不了如何解决

如果Redis启动后实际IP无法访问,可能有以下几个原因和解决方法:1. 防火墙配置:检查服务器的防火墙配置,确保Redis的端口(默认为6379)未被阻止。可以通过关闭防火墙或者允许Redis的端口通过防火墙来解决。2. 绑定IP地址配置
2023-09-04

云服务器用ip访问不了如何解决

如果您无法使用IP地址访问云服务器,可能有以下几种可能的解决方法:1. 检查网络配置:确保您的网络连接正常,并且云服务器的防火墙和网络访问控制列表(ACL)正确配置。检查云服务提供商的文档,了解如何设置网络和防火墙规则。2. 检查云服务器的
2023-09-27

虚拟主机地址访问不了如何解决

如果虚拟主机地址无法访问,可以尝试以下解决方法:1. 检查网络连接:确保电脑或设备的网络连接正常,可以尝试重新连接网络或重启路由器。2. 检查防火墙设置:防火墙可能会阻止对虚拟主机地址的访问,可以检查电脑或路由器上的防火墙设置,将虚拟主机地
2023-08-26

thinkphp5如何增加允许指定ip访问模块配置

这篇文章主要介绍了thinkphp5如何增加允许指定ip访问模块配置,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。thinkphp5增加允许指定ip访问模块配置在config
2023-06-14

php如何实现访问页面但不跳转

这篇文章主要介绍“php如何实现访问页面但不跳转”,在日常操作中,相信很多人在php如何实现访问页面但不跳转问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php如何实现访问页面但不跳转”的疑惑有所帮助!接下来
2023-07-06

redis不能访问本机真实ip地址的问题如何解决

本篇内容介绍了“redis不能访问本机真实ip地址的问题如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!redis无法访问本机真实ip
2023-06-20

如何处理阿里云服务器IP地址不同的问?

阿里云服务器IP地址不同是由于多种原因引起的,如地域差异、网络环境、虚拟机等。本文将详细介绍如何处理这个问题。阿里云服务器IP地址不同的问题是由于多种原因引起的,包括地域差异、网络环境、虚拟机等。地域差异是由于阿里云服务器分布在多个地区,每个地区的网络环境和IP池不同,因此同一台服务器在不同地区的IP地址可能不同
如何处理阿里云服务器IP地址不同的问?
2023-11-22

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录