thinkphp5配置允许指定ip访问模块
发布时间 - 2020-04-06 00:00:00 点击率:次在config.php中添加
'allow_module_ip' => ['admin' => '*'], // 设置某些ip可以访问指定模块
['admin' => '*'] 所有ip都可以访问admin模块,
['admin' => ['127.0.0.1','192.168.1.100']] 仅这两个ip可以访问admin模块
最好加在这个位置
// 禁止访问模块 'deny_module_list' => ['common'], // 设置某些ip可以访问指定模块 'allow_module_ip' => ['admin' => '*'], // 默认控制器名 'default_controller' => 'Index',
需要修改框架代码
thinkphp/library/think/App.php
代码位置如下
public static function module($result, $config, $convert = null) {
if (is_string($result)) {
$result = explode('/', $result);
}
$request = Request::instance();
if ($config['app_multi_module']) {
// 多模块部署
$module = strip_tags(strtolower($result[0] ?: $config['default_module']));
$bind = Route::getBind('module');
$available = false;
if ($bind) {
// 绑定模块
li
st($bindModule) = explode('/', $bind);
if (empty($result[0])) {
$module = $bindModule;
$available = true;
} elseif ($module == $bindModule) {
$available = true;
}
} elseif (!in_array($module, $config['deny_module_list']) && is_dir(APP_PATH . $module)) {
$available = true;
}
//region 设置了限制ip访问模块, 如:'allow_module_ip' => ['admin'=>['127.0.0.1']]
if (isset($config['allow_module_ip']) && isset($config['allow_module_ip'][$module])) {
$allowIps = $config['allow_module_ip'][$module];
if (!in_array($_SERVER['REMOTE_ADDR'], $allowIps) && $allowIps != '*') {
$available = false;
}
}
//end region
// 模块初始化
if ($module && $available) {
// 初始化模块
$request->module($module);
$config = self::init($module);
// 模块请求缓存检查
$request->cache($config['request_cache'], $config['request_cache_expire'], $config['request_cache_except']);
} else {
throw new HttpException(404, 'module not exists:' . $module);
}
} else {
// 单一模块部署
$module = '';
$request->module($module);
}
// ......
}推荐教程:thinkphp教程
# thinkphp
# 这两个
# 绑定
# 加在
# 多模
# function
# static
# result
# module
# library
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程
Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复
php 三元运算符实例详细介绍
Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践
java中使用zxing批量生成二维码立牌
详解CentOS6.5 安装 MySQL5.1.71的方法
如何登录建站主机?访问步骤全解析
Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道
php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】
如何用PHP快速搭建高效网站?分步指南
如何在阿里云虚拟服务器快速搭建网站?
如何用西部建站助手快速创建专业网站?
laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法
Linux系统运维自动化项目教程_Ansible批量管理实战
jquery插件bootstrapValidator表单验证详解
长沙做网站要多少钱,长沙国安网络怎么样?
晋江文学城电脑版官网 晋江文学城网页版直接进入
微信小程序 配置文件详细介绍
原生JS实现图片轮播切换效果
如何在宝塔面板创建新站点?
如何快速上传自定义模板至建站之星?
Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】
如何用景安虚拟主机手机版绑定域名建站?
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
javascript读取文本节点方法小结
微信h5制作网站有哪些,免费微信H5页面制作工具?
Python自动化办公教程_ExcelWordPDF批量处理案例
如何在云主机上快速搭建网站?
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法
如何用JavaScript实现文本编辑器_光标和选区怎么处理
零基础网站服务器架设实战:轻量应用与域名解析配置指南
如何快速搭建高效简练网站?
Laravel如何编写单元测试和功能测试?(PHPUnit示例)
Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置
Laravel如何保护应用免受CSRF攻击?(原理和示例)
无锡营销型网站制作公司,无锡网选车牌流程?
,网页ppt怎么弄成自己的ppt?
Laravel如何实现模型的全局作用域?(Global Scope示例)
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
如何用美橙互联一键搭建多站合一网站?
如何用y主机助手快速搭建网站?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
JavaScript如何实现类型判断_typeof和instanceof有什么区别
谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程
googleplay官方入口在哪里_Google Play官方商店快速入口指南
Laravel DB事务怎么使用_Laravel数据库事务回滚操作
简单实现jsp分页
如何在企业微信快速生成手机电脑官网?
CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】


st($bindModule) = explode('/', $bind);
if (empty($result[0])) {
$module = $bindModule;
$available = true;
} elseif ($module == $bindModule) {
$available = true;
}
} elseif (!in_array($module, $config['deny_module_list']) && is_dir(APP_PATH . $module)) {
$available = true;
}
//region 设置了限制ip访问模块, 如:'allow_module_ip' => ['admin'=>['127.0.0.1']]
if (isset($config['allow_module_ip']) && isset($config['allow_module_ip'][$module])) {
$allowIps = $config['allow_module_ip'][$module];
if (!in_array($_SERVER['REMOTE_ADDR'], $allowIps) && $allowIps != '*') {
$available = false;
}
}
//end region
// 模块初始化
if ($module && $available) {
// 初始化模块
$request->module($module);
$config = self::init($module);
// 模块请求缓存检查
$request->cache($config['request_cache'], $config['request_cache_expire'], $config['request_cache_except']);
} else {
throw new HttpException(404, 'module not exists:' . $module);
}
} else {
// 单一模块部署
$module = '';
$request->module($module);
}
// ......
}