thinkphp5配置指定ip访问模块

thinkphp5配置指定ip访问模块

在config.php中添加

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

[‘admin’ => ‘*’] 所有ip都可以访问admin模块,
[‘admin’ => [‘127.0.0.1′,’192.168.1.100’]] 仅这两个ip可以访问admin模块

最好加在这个位置

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

// 禁止访问模块 '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);         }                  // ...... }

推荐教程:《TP5

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享