diff --git a/src/admin/actionsearch_class.php b/src/admin/actionsearch_class.php index 24c42a60..ab2eb646 100644 --- a/src/admin/actionsearch_class.php +++ b/src/admin/actionsearch_class.php @@ -40,6 +40,9 @@ class ActionSearch { $i = 0; //数组序列索引 foreach ($this->asarray as $key => $value) { + if (is_null($value)) { + continue; + } //对二级项目进行匹配 if (is_array($this->asarray[$key]['soniterm'])) { foreach ($this->asarray[$key]['soniterm'] as $k => $val) { diff --git a/src/admin/file_manage_main.php b/src/admin/file_manage_main.php index 409485bf..4d31c11d 100644 --- a/src/admin/file_manage_main.php +++ b/src/admin/file_manage_main.php @@ -14,6 +14,10 @@ if (!isset($activepath)) $activepath = $cfg_cmspath; $inpath = ""; $activepath = str_replace("..", "", $activepath); $activepath = preg_replace("#^\/{1,}#", "/", $activepath); +if (DEDEBIZ_SAFE_MODE && !preg_match("#^/static#",$activepath)) { + ShowMsg("安全模式下仅允许查看编辑static目录内容", -1); + exit; +} if ($activepath == "/") $activepath = ""; if ($activepath == "") $inpath = $cfg_basedir; else $inpath = $cfg_basedir.$activepath; diff --git a/src/admin/inc/grouplist.txt b/src/admin/inc/grouplist.txt index 6df4d93c..c64c08fd 100644 --- a/src/admin/inc/grouplist.txt +++ b/src/admin/inc/grouplist.txt @@ -42,16 +42,16 @@ >a_MyCheck>审核我发布的文档 >a_Recycling>管理回收站 ->>模板管理 +>>模板管理>unsafe ->temp_All>管理所有模板 ->temp_New>新建模板 ->temp_Edit>修改模板 ->temp_Del>删除模板 ->temp_One>单页模板管理 ->temp_MyTag>自定义标记 ->temp_Test>测试标记 ->temp_Other>模板其它管理 +>temp_All>管理所有模板>unsafe +>temp_New>新建模板>unsafe +>temp_Edit>修改模板>unsafe +>temp_Del>删除模板>unsafe +>temp_One>单页模板管理>unsafe +>temp_MyTag>自定义标记>unsafe +>temp_Test>测试标记>unsafe +>temp_Other>模板其它管理>unsafe >>专题管理 @@ -68,7 +68,7 @@ >sys_Edit>修改系统参数 >sys_Log>管理日志 >sys_plus>插件管理 ->sys_Data>数据备份还原 +>sys_Data>数据备份还原>unsafe >sys_Att>自定义文档属性 >sys_ArcBatch>文档批量维护 >sys_ArcTj>文档信息统计 diff --git a/src/admin/inc/inc_action_info.php b/src/admin/inc/inc_action_info.php index e4fd1757..96308ae7 100644 --- a/src/admin/inc/inc_action_info.php +++ b/src/admin/inc/inc_action_info.php @@ -307,18 +307,18 @@ $actionSearch[7] = array( ), ) ); -$actionSearch[8] = array( +$actionSearch[8] = DEDEBIZ_SAFE_MODE? null : array( 'toptitle' => '模板', 'title' => '模板管理', 'description' => '针对主页、栏目、文档、专题等等进行更新', 'soniterm' => array( - 0 => array( + 0 => array( 'title' => '默认模板管理 ', 'description' => '对网站正在采用的模板文件进行管理', 'purview' => 'temp_All', 'linkurl' => 'templets_main.php' ), - 1 => array( + 1 => array( 'title' => '标签源码管理 ', 'description' => '对现有的标签文件进行修改、添加', 'purview' => 'temp_All', @@ -409,7 +409,7 @@ $actionSearch[9] = array( 'purview' => 'sys_data', 'linkurl' => 'sys_data.php' ), - 12 => array( + 12 => DEDEBIZ_SAFE_MODE? null : array( 'title' => 'SQL命令行工具', 'description' => '可以在针对每张数据表执行单行或者多行的SQL语句', 'purview' => 'sys_data', diff --git a/src/admin/inc/inc_menu.php b/src/admin/inc/inc_menu.php index cf2bf7a9..2ab84b4f 100644 --- a/src/admin/inc/inc_menu.php +++ b/src/admin/inc/inc_menu.php @@ -34,13 +34,13 @@ $gitUrl = DEDEBIZURL."/git"; $dedebizUrl = DEDEBIZURL; $adminMenu1 = $adminMenu2 = ''; if ($cuserLogin->getUserType() >= 10) { - $adminMenu1 = " + $adminMenu1 = (DEDEBIZ_SAFE_MODE? "" : " - +")." @@ -67,8 +67,8 @@ if ($cuserLogin->getUserType() >= 10) { - - + ".(DEDEBIZ_SAFE_MODE? "" : "")." + ".(DEDEBIZ_SAFE_MODE? "" : "")." "; @@ -98,7 +98,7 @@ $adminMenu1 - + ".(DEDEBIZ_SAFE_MODE? "" : "")." diff --git a/src/admin/inc/inc_menu_map.php b/src/admin/inc/inc_menu_map.php index f7d648c6..4ec9e064 100644 --- a/src/admin/inc/inc_menu_map.php +++ b/src/admin/inc/inc_menu_map.php @@ -55,7 +55,7 @@ $menusMain = " - + ".(DEDEBIZ_SAFE_MODE? "" :"")." @@ -86,13 +86,13 @@ $menusMain = " - +".(DEDEBIZ_SAFE_MODE? "" : " - +")." @@ -103,8 +103,8 @@ $menusMain = " - - + ".(DEDEBIZ_SAFE_MODE? "" :"")." + ".(DEDEBIZ_SAFE_MODE? "" :"")." "; @@ -115,12 +115,11 @@ $dsql->Execute(); while ($row = $dsql->GetObject()) { $plusset .= $row->menustring.""; } -$menusMain .= " - +$menusMain .= (DEDEBIZ_SAFE_MODE? "" :" - +")." $plusset diff --git a/src/admin/inc/inc_menu_module.php b/src/admin/inc/inc_menu_module.php index c8501826..b9b36097 100644 --- a/src/admin/inc/inc_menu_module.php +++ b/src/admin/inc/inc_menu_module.php @@ -35,7 +35,7 @@ while ($row = $dsql->GetObject()) { } $adminMenu = ''; if ($cuserLogin->getUserType() >= 10) { - $adminMenu = " + $adminMenu = DEDEBIZ_SAFE_MODE? "" : " diff --git a/src/admin/index_body.php b/src/admin/index_body.php index a3f9474e..9f2a7360 100644 --- a/src/admin/index_body.php +++ b/src/admin/index_body.php @@ -131,5 +131,11 @@ else if ($dopost == 'setskin') { "result" => $rs, )); exit; -} +} elseif ($dopost == 'safe_mode') { + $safemsg = "当前系统环境运行模式为【安全模式】,安全模式下将无法使用后台“模板管理”、“标签管理”、“数据库管理”、“模块管理”等功能,如果您需要使用上述功能,可在`/system/common.inc.php`中,将`DEDEBIZ_SAFE_MODE`值更改为`FALSE`"; + $unsafemsg = "当前系统环境运行模式为【非安全模式】,系统中“模板管理”、“标签管理”、“数据库管理”、“模块管理”等功能使用不当会存在一定的安全风险,建议您在`/system/common.inc.php`中,将`DEDEBIZ_SAFE_MODE`值更改为`TRUE`"; + $modeStr = DEDEBIZ_SAFE_MODE? $safemsg : $unsafemsg; + ShowMsg($modeStr, "javascript:;"); + exit; +} ?> \ No newline at end of file diff --git a/src/admin/index_testenv.php b/src/admin/index_testenv.php index a447f4cc..39122d7e 100644 --- a/src/admin/index_testenv.php +++ b/src/admin/index_testenv.php @@ -132,7 +132,10 @@ if (!IsSSL()) { $safeMsg[] = '当前站点尚未启用https,强烈建议您启用'; } if (version_compare(PHP_VERSION, '5.3.0', '<')) { - $safeMsg[] = "PHP请升级到5.3及以上版本,低版本PHP环境将无法正常使用本系统"; + $safeMsg[] = 'PHP请升级到5.3及以上版本,低版本PHP环境将无法正常使用本系统'; +} +if (!DEDEBIZ_SAFE_MODE) { + $safeMsg[] = '当前系统运行环境为【非安全模式】,强烈建议启用安全模式 查看'; } $rs = TestAdminPWD(); if ($rs < 0) { diff --git a/src/admin/module_main.php b/src/admin/module_main.php index 5cbd0fe0..dc14a2b0 100644 --- a/src/admin/module_main.php +++ b/src/admin/module_main.php @@ -9,6 +9,9 @@ * @link https://www.dedebiz.com */ require_once(dirname(__FILE__)."/config.php"); +if (DEDEBIZ_SAFE_MODE) { + die(DedeAlert("系统已启用安全模式,无法使用当前功能",ALERT_DANGER)); +} CheckPurview('sys_module'); require_once(DEDEINC."/dedemodule.class.php"); require_once(DEDEINC."/libraries/oxwindow.class.php"); diff --git a/src/admin/module_make.php b/src/admin/module_make.php index 7cefac8e..ac8edfc3 100644 --- a/src/admin/module_make.php +++ b/src/admin/module_make.php @@ -11,6 +11,9 @@ @set_time_limit(0); require_once(dirname(__FILE__)."/config.php"); require_once(DEDEINC."/dedemodule.class.php"); +if (DEDEBIZ_SAFE_MODE) { + die(DedeAlert("系统已启用安全模式,无法使用当前功能",ALERT_DANGER)); +} CheckPurview('sys_module'); if (empty($action)) $action = ''; if ($action == '') { diff --git a/src/admin/module_upload.php b/src/admin/module_upload.php index 0f03611d..7f524cde 100644 --- a/src/admin/module_upload.php +++ b/src/admin/module_upload.php @@ -9,6 +9,9 @@ * @link https://www.dedebiz.com */ require_once(dirname(__FILE__)."/config.php"); +if (DEDEBIZ_SAFE_MODE) { + die(DedeAlert("系统已启用安全模式,无法使用当前功能",ALERT_DANGER)); +} CheckPurview('sys_module'); require_once(DEDEINC."/dedemodule.class.php"); require_once(DEDEINC."/libraries/oxwindow.class.php"); diff --git a/src/admin/mytag_add.php b/src/admin/mytag_add.php index 93f2df35..3ac160a9 100644 --- a/src/admin/mytag_add.php +++ b/src/admin/mytag_add.php @@ -9,6 +9,9 @@ * @link https://www.dedebiz.com */ require(dirname(__FILE__)."/config.php"); +if (DEDEBIZ_SAFE_MODE) { + die(DedeAlert("系统已启用安全模式,无法使用当前功能",ALERT_DANGER)); +} CheckPurview('temp_Other'); require_once(DEDEINC."/typelink/typelink.class.php"); if (empty($dopost)) $dopost = ""; diff --git a/src/admin/mytag_edit.php b/src/admin/mytag_edit.php index 228c19ef..e5936573 100644 --- a/src/admin/mytag_edit.php +++ b/src/admin/mytag_edit.php @@ -9,6 +9,9 @@ * @link https://www.dedebiz.com */ require(dirname(__FILE__)."/config.php"); +if (DEDEBIZ_SAFE_MODE) { + die(DedeAlert("系统已启用安全模式,无法使用当前功能",ALERT_DANGER)); +} CheckPurview('temp_Other'); require_once(DEDEINC."/typelink/typelink.class.php"); if (empty($dopost)) $dopost = ''; diff --git a/src/admin/mytag_main.php b/src/admin/mytag_main.php index 8eacaa3c..efb7564c 100644 --- a/src/admin/mytag_main.php +++ b/src/admin/mytag_main.php @@ -9,6 +9,9 @@ * @link https://www.dedebiz.com */ require_once(dirname(__FILE__).'/config.php'); +if (DEDEBIZ_SAFE_MODE) { + die(DedeAlert("系统已启用安全模式,无法使用当前功能",ALERT_DANGER)); +} CheckPurview('temp_Other'); require_once(DEDEINC.'/datalistcp.class.php'); setcookie("ENV_GOBACK_URL", $dedeNowurl, time() + 3600, '/'); diff --git a/src/admin/mytag_tag_guide.php b/src/admin/mytag_tag_guide.php index 39f439f6..24e12d54 100644 --- a/src/admin/mytag_tag_guide.php +++ b/src/admin/mytag_tag_guide.php @@ -9,5 +9,8 @@ * @link https://www.dedebiz.com */ require_once(dirname(__FILE__)."/config.php"); +if (DEDEBIZ_SAFE_MODE) { + die(DedeAlert("系统已启用安全模式,无法使用当前功能",ALERT_DANGER)); +} require_once(DEDEINC."/typelink/typelink.class.php"); include DedeInclude('templets/mytag_tag_guide.htm'); \ No newline at end of file diff --git a/src/admin/mytag_tag_guide_ok.php b/src/admin/mytag_tag_guide_ok.php index b0c3c65f..837cefd4 100644 --- a/src/admin/mytag_tag_guide_ok.php +++ b/src/admin/mytag_tag_guide_ok.php @@ -9,6 +9,9 @@ * @link https://www.dedebiz.com */ require_once(dirname(__FILE__)."/config.php"); +if (DEDEBIZ_SAFE_MODE) { + die(DedeAlert("系统已启用安全模式,无法使用当前功能",ALERT_DANGER)); +} CheckPurview('temp_Other'); //根据条件生成标记 $attlist = ""; diff --git a/src/admin/sys_data.php b/src/admin/sys_data.php index 55e865a2..6c241012 100644 --- a/src/admin/sys_data.php +++ b/src/admin/sys_data.php @@ -9,6 +9,9 @@ * @link https://www.dedebiz.com */ require_once(dirname(__FILE__)."/config.php"); +if (DEDEBIZ_SAFE_MODE) { + die(DedeAlert("系统已启用安全模式,无法使用当前功能",ALERT_DANGER)); + } CheckPurview('sys_Data'); if (empty($dopost)) $dopost = ''; if ($cfg_dbtype == 'sqlite') { diff --git a/src/admin/sys_data_done.php b/src/admin/sys_data_done.php index 11a66946..a40e822e 100644 --- a/src/admin/sys_data_done.php +++ b/src/admin/sys_data_done.php @@ -12,6 +12,9 @@ @set_time_limit(0); ini_set('memory_limit', '-1'); require_once(dirname(__FILE__).'/config.php'); +if (DEDEBIZ_SAFE_MODE) { + die(DedeAlert("系统已启用安全模式,无法使用当前功能",ALERT_DANGER)); + } CheckPurview('sys_Data'); if (empty($dopost)) $dopost = ''; $bkdir = DEDEDATA.'/'.$cfg_backup_dir; diff --git a/src/admin/sys_data_replace.php b/src/admin/sys_data_replace.php index 8827bcae..519313f8 100644 --- a/src/admin/sys_data_replace.php +++ b/src/admin/sys_data_replace.php @@ -9,6 +9,9 @@ * @link https://www.dedebiz.com */ require_once(dirname(__FILE__).'/config.php'); +if (DEDEBIZ_SAFE_MODE) { + die(DedeAlert("系统已启用安全模式,无法使用当前功能",ALERT_DANGER)); + } CheckPurview('sys_Data'); if (empty($action)) $action = ''; if (empty($action)) { diff --git a/src/admin/sys_data_revert.php b/src/admin/sys_data_revert.php index df426f24..29b2252e 100644 --- a/src/admin/sys_data_revert.php +++ b/src/admin/sys_data_revert.php @@ -7,6 +7,9 @@ * @link https://www.dedebiz.com */ require_once(dirname(__FILE__)."/config.php"); +if (DEDEBIZ_SAFE_MODE) { + die(DedeAlert("系统已启用安全模式,无法使用当前功能",ALERT_DANGER)); + } CheckPurview('sys_Data'); $bkdir = DEDEDATA."/".$cfg_backup_dir; $filelists = array(); diff --git a/src/admin/sys_safetest.php b/src/admin/sys_safetest.php index 425f29b4..764afbab 100644 --- a/src/admin/sys_safetest.php +++ b/src/admin/sys_safetest.php @@ -25,7 +25,7 @@ foreach ($filelist as $key => $ff) { } $alter = ""; if (count($offFiles) == 0) { - $alter = '
无法同官方网站文件服务器通信,校验时候无法保证本地文件是否同官方服务器文件是否一致
'; + $alter = DedeAlert('无法同官方网站文件服务器通信,校验时候无法保证本地文件是否同官方服务器文件是否一致', ALERT_DANGER); } function TestOneFile($f) { diff --git a/src/admin/sys_sql_query.php b/src/admin/sys_sql_query.php index e5c4fa0d..99043a1f 100644 --- a/src/admin/sys_sql_query.php +++ b/src/admin/sys_sql_query.php @@ -9,6 +9,9 @@ * @link https://www.dedebiz.com */ require(dirname(__FILE__)."/config.php"); +if (DEDEBIZ_SAFE_MODE) { + die(DedeAlert("系统已启用安全模式,无法使用当前功能",ALERT_DANGER)); +} CheckPurview('sys_Data'); if (empty($dopost)) $dopost = ""; //查看表结构 diff --git a/src/admin/tag_test.php b/src/admin/tag_test.php index fdcd7ae3..ef96fb42 100644 --- a/src/admin/tag_test.php +++ b/src/admin/tag_test.php @@ -9,6 +9,9 @@ * @link https://www.dedebiz.com */ require_once(dirname(__FILE__)."/config.php"); +if (DEDEBIZ_SAFE_MODE) { + die(DedeAlert("系统已启用安全模式,无法使用当前功能",ALERT_DANGER)); +} CheckPurview('temp_Other'); require_once(DEDEINC."/typelink/typelink.class.php"); include DedeInclude('templets/tag_test.htm'); \ No newline at end of file diff --git a/src/admin/tag_test_action.php b/src/admin/tag_test_action.php index bd4efc12..1bc4f211 100644 --- a/src/admin/tag_test_action.php +++ b/src/admin/tag_test_action.php @@ -9,6 +9,9 @@ * @link https://www.dedebiz.com */ require_once(dirname(__FILE__)."/config.php"); +if (DEDEBIZ_SAFE_MODE) { + die(DedeAlert("系统已启用安全模式,无法使用当前功能",ALERT_DANGER)); +} CheckPurview('temp_Test'); require_once(DEDEINC."/archive/partview.class.php"); CheckCSRF(); diff --git a/src/admin/templets/file_manage_main.htm b/src/admin/templets/file_manage_main.htm index 84bd2f46..acfe7281 100644 --- a/src/admin/templets/file_manage_main.htm +++ b/src/admin/templets/file_manage_main.htm @@ -309,7 +309,7 @@ foreach ($dh as $file) ?> - 根目录 + 根目录 新建文件 新建目录 文件上传 diff --git a/src/admin/templets/index.htm b/src/admin/templets/index.htm index dede314c..cfe1e892 100644 --- a/src/admin/templets/index.htm +++ b/src/admin/templets/index.htm @@ -12,6 +12,10 @@