对于限制了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
相关文章:
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?
如何设置并定期更换建站之星安全管理员密码?
广东企业建站网站优化与SEO营销核心策略指南
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?
想学网站制作怎么学,建立一个网站要花费多少?
电商网站制作公司有哪些,1688网是什么意思?
建站之星如何修改网站生成路径?
如何访问已购建站主机并解决登录问题?
建站之星后台管理系统如何操作?
活动邀请函制作网站有哪些,活动邀请函文案?
如何在宝塔面板中修改默认建站目录?
建站之星图片链接生成指南:自助建站与智能设计教程
如何通过虚拟机搭建网站?详细步骤解析
成都网站制作报价公司,成都工业用气开户费用?
广州美橙建站如何快速搭建多端合一网站?
怎么将XML数据可视化 D3.js加载XML
如何通过cPanel快速搭建网站?
建站之星后台密码遗忘如何找回?
海南网站制作公司有哪些,海口网是哪家的?
C++用Dijkstra(迪杰斯特拉)算法求最短路径
c# 服务器GC和工作站GC的区别和设置
如何选择PHP开源工具快速搭建网站?
网页设计与网站制作内容,怎样注册网站?
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
创业网站制作流程,创业网站可靠吗?
中山网站推广排名,中山信息港登录入口?
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
网站制作话术技巧,网站推广做的好怎么话术?
在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
Android使用GridView实现日历的简单功能
建站之星安装提示数据库无法连接如何解决?
在线制作视频网站免费,都有哪些好的动漫网站?
javascript中对象的定义、使用以及对象和原型链操作小结
如何快速生成橙子建站落地页链接?
seo网站制作优化,网站SEO优化步骤有哪些?
网站设计制作公司地址,网站建设比较好的公司都有哪些?
专业网站建设制作报价,网页设计制作要考什么证?
b2c电商网站制作流程,b2c水平综合的电商平台?
移民网站制作流程,怎么看加拿大移民官网?
如何彻底卸载建站之星软件?
高端云建站费用究竟需要多少预算?
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
制作网站的软件免费下载,免费制作app哪个平台好?
代刷网站制作软件,别人代刷火车票靠谱吗?
西安专业网站制作公司有哪些,陕西省建行官方网站?
建站VPS选购需注意哪些关键参数?
如何快速搭建响应式可视化网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。