php 使用curl模拟ip和来源进行访问的实现方法
发布时间 - 2026-01-11 00:55:36 点击率:次对于限制了ip和来源的网站,使用正常的访问方式是无法访问的。本文将介绍一种方法,使用php的curl类实现模拟ip和来源,访问那些限制了ip和来源的网站。

1.设置页面限制ip和来源访问
server.php
<?php
$client_ip = getip();
$referer = getreferer();
$allow_ip = '192.168.1.100';
$allow_referer = 'https://www.';
if($client_ip==$allow_ip && strpos($referer, $allow_referer)===0){
echo 'allow access';
}else{
echo 'deny access';
}
// 获取访问者ip
function 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 '';
}
?>
2.使用curl正常访问
<?php
function 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
3.使用curl模拟ip和来源进行访问
模拟来源
curl_setopt($ch, CURLOPT_REFERER, '来源');
模拟ip
curl_setopt($ch, CURLOPT_HTTPHEADER, array('CLIENT-IP: 模拟ip','X-FORWARDED-FOR: 模拟ip'));
完整代码如下:
<?php
function 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./';
$response = doCurl($url, $data, $header, $referer, 5);
echo $response;
?>
返回 allow access
以上这篇php 使用curl模拟ip和来源进行访问的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# php
# curl
# 模拟ip
# 使用PHP curl模拟浏览器抓取网站信息
# PHP curl模拟浏览器采集阿里巴巴的实现代码
# php使用curl模拟浏览器表单上传文件或者图片的方法
# PHP基于curl实现模拟微信浏览器打开微信链接的方法示例
# php使用curl访问https示例分享
# php采用curl访问域名返回405 method not allowed提示的解决方法
# php使用curl并发减少后端访问时间的方法分析
# PHP基于curl模拟post提交json数据示例
# PHP使用Curl实现模拟登录及抓取数据功能示例
# PHP curl模拟登录带验证码的网站
# php使用curl伪造浏览器访问操作示例
# 给大家
# 希望能
# 这篇
# 小编
# 大家多多
# 无法访问
# https
# allow_referer
# amp
# www
# getreferer
# referer
# allow_ip
# strpos
# HTTP_CLIENT_IP
# _SERVER
# elseif
# cip
# empty
# access
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在阿里云ECS服务器部署织梦CMS网站?
音响网站制作视频教程,隆霸音响官方网站?
网站建设保证美观性,需要考虑的几点问题!
如何安全更换建站之星模板并保留数据?
QQ浏览器网页版登录入口 个人中心在线进入
Android Socket接口实现即时通讯实例代码
Swift开发中switch语句值绑定模式
php在windows下怎么调试_phpwindows环境调试操作说明【操作】
php 三元运算符实例详细介绍
Laravel怎么上传文件_Laravel图片上传及存储配置
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
Laravel定时任务怎么设置_Laravel Crontab调度器配置
Laravel怎么导出Excel文件_Laravel Excel插件使用教程
Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)
如何快速查询域名建站关键信息?
Android仿QQ列表左滑删除操作
如何快速搭建高效可靠的建站解决方案?
如何用5美元大硬盘VPS安全高效搭建个人网站?
javascript日期怎么处理_如何格式化输出
简单实现jsp分页
如何用腾讯建站主机快速创建免费网站?
linux top下的 minerd 木马清除方法
Laravel如何创建自定义Facades?(详细步骤)
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
如何在IIS7上新建站点并设置安全权限?
Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制
如何用AI帮你把自己的生活经历写成一个有趣的故事?
Laravel路由怎么定义_Laravel核心路由系统完全入门指南
非常酷的网站设计制作软件,酷培ai教育官方网站?
海南网站制作公司有哪些,海口网是哪家的?
如何破解联通资金短缺导致的基站建设难题?
如何在七牛云存储上搭建网站并设置自定义域名?
Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权
Android中AutoCompleteTextView自动提示
Laravel怎么实现模型属性的自动加密
Laravel如何操作JSON类型的数据库字段?(Eloquent示例)
如何获取PHP WAP自助建站系统源码?
浅谈javascript alert和confirm的美化
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
敲碗10年!Mac系列传将迎来「触控与联网」双革新
Laravel如何与Pusher实现实时通信?(WebSocket示例)
Angular 表单中正确绑定输入值以确保提交与验证正常工作
Swift中循环语句中的转移语句 break 和 continue
大连 网站制作,大连天途有线官网?
Bootstrap整体框架之JavaScript插件架构
百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧
Win11怎么开启自动HDR画质_Windows11显示设置HDR选项
如何在香港免费服务器上快速搭建网站?
Laravel Admin后台管理框架推荐_Laravel快速开发后台工具
如何确保FTP站点访问权限与数据传输安全?

