thinkphp5怎么增加允许指定ip访问模块配置

下面由thinkphp教程栏目给大家介绍thinkphp5增加允许指定ip访问模块配置方法,希望对需要的朋友有所帮助!

thinkphp5怎么增加允许指定ip访问模块配置

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

在config.php中添加

‘allow_module_ip’ => [‘admin’ => ‘*’], // 设置某些ip可以访问指定模块

立即学习“PHP免费学习笔记(深入)”;

度加剪辑 度加剪辑

度加剪辑(原度咔剪辑),百度旗下AI创作工具

度加剪辑 63 查看详情 度加剪辑

[‘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);        }                // ......}

相关推荐:最新的10个thinkphp视频教程

以上就是thinkphp5怎么增加允许指定ip访问模块配置的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/371722.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫

关于作者

上一篇 2025年11月6日 08:02:12
下一篇 2025年11月6日 08:03:13

相关推荐

发表回复

登录后才能评论
关注微信