摘要:在中添加设置某些可以访问指定模块所有都可以访问模块,仅这两个可以访问模块最好加在这个位置禁止访问模块设置某些可以访问指定模块默认控制器名需要修改框架代码代码位置如下多模块部署绑定模块设置了限制访问模块如模块初始化初始化模块模块请求缓存检查
在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) { // 绑定模块 list($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); } // ...... }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/28772.html
摘要:数据库文件已经上传,安装配置就可以使用简称即基于的后台管理系统官方文档地址在线体验地址账户密码线上仓库在线地址源代码下载克隆直接下载本地部署运行环境要求建议配置虚拟域名若不清楚,请自行解决之,方便接下来开展你的开发工作。 喜欢就Star,不只是Fork; 想要分享的动机才是驱动力,而技术仅仅是一种方法。 数据库文件已经上传,安装配置就可以使用 showImg(https://seg...
摘要:数据库文件已经上传,安装配置就可以使用简称即基于的后台管理系统官方文档地址在线体验地址账户密码线上仓库在线地址源代码下载克隆直接下载本地部署运行环境要求建议配置虚拟域名若不清楚,请自行解决之,方便接下来开展你的开发工作。 喜欢就Star,不只是Fork; 想要分享的动机才是驱动力,而技术仅仅是一种方法。 数据库文件已经上传,安装配置就可以使用 showImg(https://seg...
摘要:异常处理上节解读源码一自动加载看完了自动加载部分,根据代码执行顺序,的行注册错误和异常处理机制加载惯例配置文件下面的加载配置文件不用说,现在重点看一下异常处理。博客链接解读源码二异常处理和请求生命周期 异常处理 上节解读 thinkphp5 源码(一):自动加载看完了自动加载部分,根据代码执行顺序,base.php的59-64行 // 注册错误和异常处理机制 hinkError::r...
阅读 1938·2021-09-04 16:45
阅读 719·2019-08-30 15:44
阅读 874·2019-08-30 13:07
阅读 440·2019-08-29 16:06
阅读 1338·2019-08-29 13:43
阅读 1226·2019-08-26 17:00
阅读 1508·2019-08-26 13:51
阅读 2271·2019-08-26 11:48