在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