In config.php hinzufügen
'allow_module_ip' => ['admin' => '*'], // Einige IP-Adressen festlegen auf das angegebene Modul zugreifen
['admin' => '*'] Alle IP-Adressen können auf das Admin-Modul zugreifen,
['admin' => 192.168.1.100']] Nur diese beiden IPs können auf das Admin-Modul zugreifen
Am besten an dieser Stelle hinzufügen
// 禁止访问模块 'deny_module_list' => ['common'], // 设置某些ip可以访问指定模块 'allow_module_ip' => ['admin' => '*'], // 默认控制器名 'default_controller' => 'Index',
Der Framework-Code muss geändert werden
thinkphp/library/think/App.php
Der Code lautet wie folgt
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); } // ...... }
Empfohlenes Tutorial: „TP5“
Das obige ist der detaillierte Inhalt vonthinkphp5 fügt eine Methode hinzu, um einer bestimmten IP den Zugriff auf das Modul zu ermöglichen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!