From ca1e7e33222c0a73dc92b7d6d7d67862f10f596e Mon Sep 17 00:00:00 2001 From: naoki hirata Date: Wed, 24 Oct 2018 07:33:00 +0900 Subject: [PATCH] =?utf8?q?=E7=AE=A1=E7=90=86=E8=80=85=E3=82=AD=E3=83=BC?= =?utf8?q?=E4=BB=95=E6=A7=98=E5=89=8A=E9=99=A4=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- include/container/admin_indexFrameContainer.php | 7 +- include/container/baseFrameContainer.php | 4 +- include/container/connectorFrameContainer.php | 7 +- include/db/systemDb.php | 76 ---------------------- include/global.php | 1 - include/manager/accessManager.php | 38 ----------- include/manager/cacheManager.php | 1 - include/manager/envManager.php | 16 ----- include/manager/pageManager.php | 7 +- include/sql/create_base.sql | 2 +- .../admin_photo_mainImagebrowseWidgetContainer.php | 8 --- 11 files changed, 8 insertions(+), 159 deletions(-) diff --git a/include/container/admin_indexFrameContainer.php b/include/container/admin_indexFrameContainer.php index f730a9e5..9ce4dc95 100644 --- a/include/container/admin_indexFrameContainer.php +++ b/include/container/admin_indexFrameContainer.php @@ -55,12 +55,7 @@ class admin_indexFrameContainer extends BaseFrameContainer $cmd == M3_REQUEST_CMD_SHOW_PHPINFO){ // phpinfoの表示 // 管理者権限がなければ実行できない //if ($gEnvManager->isSystemAdmin()){ - if ($this->gEnv->isSystemManageUser()){ // システム運用可能ユーザかどうか(2018/8/5変更) - $ret = true; - } else { - // クッキーがないため権限を識別できない場合は、管理者キーをチェックする - $ret = $gAccessManager->isValidAdminKey(); - } + if ($this->gEnv->isSystemManageUser()) $ret = true; // システム運用可能ユーザかどうか(2018/8/5変更) } else if ($cmd == M3_REQUEST_CMD_CONFIG_WIDGET){ // ウィジェットの設定 // ### trueを返すとウィジェット設定画面が表示され、falseを返すとログイン画面が表示される。 ### // ### ログイン画面の場合、グローバルメッセージが設定されている場合はログイン画面の代わりにエラーメッセージが表示される。### diff --git a/include/container/baseFrameContainer.php b/include/container/baseFrameContainer.php index 3a369562..1acba2ff 100644 --- a/include/container/baseFrameContainer.php +++ b/include/container/baseFrameContainer.php @@ -454,7 +454,7 @@ class BaseFrameContainer extends Core } // 管理権限がない場合は、ウィジェットのページへの配置状況からアクセス権限をチェックする - if (!$isSystemManageUser && !$this->gAccess->isValidAdminKey() && !$this->_db->canAccessWidget($widgetId)){ + if (!$isSystemManageUser && !$this->_db->canAccessWidget($widgetId)){ // アクセスエラーのログを残す $this->_db->writeWidgetLog($widgetId, 1/*単体実行*/, $cmd, self::ERR_MESSAGE_ACCESS_DENY); @@ -464,7 +464,7 @@ class BaseFrameContainer extends Core } // ################# パラメータチェック ################ - if (!$isSystemManageUser && !$this->gAccess->isValidAdminKey() && $this->gEnv->isServerConnector()){ // サーバ接続の場合 + if (!$isSystemManageUser && $this->gEnv->isServerConnector()){ // サーバ接続の場合 // クエリーパラメータはウィジェットIDのみ正常とする $params = $request->getQueryArray(); $paramCount = count($params); diff --git a/include/container/connectorFrameContainer.php b/include/container/connectorFrameContainer.php index 994a47bc..3cec043e 100644 --- a/include/container/connectorFrameContainer.php +++ b/include/container/connectorFrameContainer.php @@ -51,12 +51,7 @@ class connectorFrameContainer extends BaseFrameContainer } } else if ($cmd == M3_REQUEST_CMD_DO_WIDGET){ // ウィジェット単体実行 // 管理者権限がなければ実行できない - if ($this->gEnv->isSystemManageUser()){ // システム運用可能ユーザかどうか - $ret = true; - } else { - // クッキーがないため権限を識別できない場合は、管理者キーをチェックする - $ret = $this->gAccess->isValidAdminKey(); - } + if ($this->gEnv->isSystemManageUser()) $ret = true; // システム運用可能ユーザかどうか } return $ret; } diff --git a/include/db/systemDb.php b/include/db/systemDb.php index 20af5f98..9a121cda 100644 --- a/include/db/systemDb.php +++ b/include/db/systemDb.php @@ -19,7 +19,6 @@ class SystemDb extends BaseDb { const MAX_ACCESS_LOG_FIELD_LENGTH = 300; // ログテーブルのフィールドの最大長 const MAX_ACCESS_LOG_REQUEST_LENGTH = 500; // リクエストの最大長 - const ADMIN_KEY_LIFETIME = 1440; // 管理者一時キーの生存期間(分) const INDEX_ADD_VALUE = 5; // 表示順の増加分 /** @@ -3049,81 +3048,6 @@ class SystemDb extends BaseDb return $ret; } /** - * エラーのログインログを追加 - * - * @param string $account 入力アカウント - * @param string $ip IPアドレス - * @param int $logSerial アクセスログシリアル番号 - * @return true=成功、false=失敗 - */ -/* function addErrorLoginLog($account, $ip, $logSerial) - { - // トランザクション開始 - $this->startTransaction(); - - $queryStr = 'INSERT INTO _login_err_log ('; - $queryStr .= 'le_account, '; - $queryStr .= 'le_ip, '; - $queryStr .= 'le_access_log_serial '; - $queryStr .= ') VALUES ('; - $queryStr .= '?, ?, ?'; - $queryStr .= ')'; - $this->execStatement($queryStr, array($account, $ip, $logSerial)); - - // トランザクション確定 - $ret = $this->endTransaction(); - return $ret; - }*/ - /** - * 管理者一時キーを登録 - * - * @param string $key 登録キー - * @param string $ip IPアドレス - * @return true=成功、false=失敗 - */ - function addAdminKey($key, $ip) - { - // トランザクション開始 - $this->startTransaction(); - - $queryStr = 'INSERT INTO _admin_key ('; - $queryStr .= 'ak_id, '; - $queryStr .= 'ak_ip, '; - $queryStr .= 'ak_create_dt '; - $queryStr .= ') VALUES ('; - $queryStr .= '?, ?, now()'; - $queryStr .= ')'; - $this->execStatement($queryStr, array($key, $ip)); - - // トランザクション確定 - $ret = $this->endTransaction(); - return $ret; - } - /** - * 有効な管理者一時キーかどうか - * - * @param string $key アカウント - * @param string $ip ユーザのアクセス元IP - * @return true=有効、false=無効 - */ - function isValidAdminKey($key, $ip) - { - $queryStr = 'SELECT * FROM _admin_key '; - $queryStr .= 'WHERE ak_id = ? '; - $queryStr .= 'AND ak_ip = ?'; - $ret = $this->selectRecord($queryStr, array($key, $ip), $row); - if ($ret){ // 有効期間もチェック - $lifeTime = self::ADMIN_KEY_LIFETIME; - if (strtotime("-$lifeTime minutes") <= strtotime($row['ak_create_dt'])){ - return true; - } else { - return false; - } - } else { - return false; - } - } - /** * ウィジェットパラメータ更新 * * @param string $widgetId ウィジェットID diff --git a/include/global.php b/include/global.php index e47167df..f17c6e9a 100644 --- a/include/global.php +++ b/include/global.php @@ -356,7 +356,6 @@ define('M3_REQUEST_PARAM_OPERATION_TODO', 'todo'); // 指定ウィジ define('M3_REQUEST_PARAM_FROM', 'from'); // メッセージの送信元ウィジェットID。遷移元画面。 define('M3_REQUEST_PARAM_VIEW_STYLE', 'style'); // 表示スタイル define('M3_REQUEST_PARAM_FORWARD', 'forward'); // 画面遷移用パラメータ -define('M3_REQUEST_PARAM_ADMIN_KEY', 'adminkey'); // 管理者一時キー define('M3_REQUEST_PARAM_OPEN_BY', 'openby'); // ウィンドウの開き方 define('M3_REQUEST_PARAM_SHOW_HEADER', 'head'); // ヘッダ部表示制御 define('M3_REQUEST_PARAM_SHOW_FOOTER', 'foot'); // フッタ部表示制御 diff --git a/include/manager/accessManager.php b/include/manager/accessManager.php index 71648e72..d238b8a4 100644 --- a/include/manager/accessManager.php +++ b/include/manager/accessManager.php @@ -195,14 +195,6 @@ class AccessManager extends Core $adminWidget = trim($row['lu_admin_widget']); if (!empty($adminWidget)) $userInfo->adminWidget = explode(',', $adminWidget); } - - // システム運用可能ユーザの場合は、管理者キーを発行(2011/9/16 修正) - if ($userInfo->userType >= UserInfo::USER_TYPE_MANAGER){ // システム運用可能ユーザのとき - $adminKey = $this->createAdminKey(); - if ($this->db->addAdminKey($adminKey, $accessIp)) $userInfo->_adminKey = $adminKey; - } else { - $userInfo->_adminKey = ''; - } // インスタンスマネージャーとセッションに保存 $gInstanceManager->setUserInfo($userInfo); @@ -655,15 +647,6 @@ class AccessManager extends Core return $this->_clientId; // クライアントID(クッキー用) } /** - * 管理者用一時キーを作成 - */ - function createAdminKey() - { - global $gRequestManager; - - return md5($gRequestManager->trimServerValueOf('REMOTE_ADDR') . time()); - } - /** * 変更前のセッションIDを設定 * * @param string $sessionId セッションID @@ -764,27 +747,6 @@ class AccessManager extends Core } } /** - * 管理者認証用一時キーが存在するかどうか - * - * @return bool true=完了、false=未完了 - */ - function isValidAdminKey() - { - global $gRequestManager; - static $isValidAdminKey; - - if (!isset($isValidAdminKey)){ - // 管理者一時キーを取得 - $adminKey = $gRequestManager->trimValueOf(M3_REQUEST_PARAM_ADMIN_KEY); - if (empty($adminKey)){ - $isValidAdminKey = false; - } else { - $isValidAdminKey = $this->db->isValidAdminKey($adminKey, $gRequestManager->trimServerValueOf('REMOTE_ADDR')); - } - } - return $isValidAdminKey; - } - /** * URL用のパラメータとして使用するセッションIDを取得 * * @return string セッションIDパラメータ文字列 diff --git a/include/manager/cacheManager.php b/include/manager/cacheManager.php index 9741f1c4..edcf8ee6 100644 --- a/include/manager/cacheManager.php +++ b/include/manager/cacheManager.php @@ -52,7 +52,6 @@ class CacheManager extends Core //M3_REQUEST_PARAM_FROM, // メッセージの送信元ウィジェットID //M3_REQUEST_PARAM_VIEW_STYLE, // 表示スタイル //M3_REQUEST_PARAM_FORWARD, // 画面遷移用パラメータ - //M3_REQUEST_PARAM_ADMIN_KEY, // 管理者一時キー //M3_REQUEST_PARAM_OPEN_BY, // ウィンドウの開き方 //M3_REQUEST_PARAM_SHOW_HEADER, // ヘッダ部表示制御 //M3_REQUEST_PARAM_SHOW_FOOTER, // フッタ部表示制御 diff --git a/include/manager/envManager.php b/include/manager/envManager.php index 4ef5251a..c7c1d8bd 100644 --- a/include/manager/envManager.php +++ b/include/manager/envManager.php @@ -2029,22 +2029,6 @@ class EnvManager extends Core return $hasOption; } /** - * 管理者用一時キーを取得 - * - * @return string 管理者キー、管理者でないときは空文字列 - */ - public function getAdminKey() - { - global $gInstanceManager; - - $userInfo = $gInstanceManager->getUserInfo(); - if (is_null($userInfo)){ // ログインしていない場合 - return ''; - } else { - return $userInfo->_adminKey; - } - } - /** * 現在アクセス中のユーザに管理者権限があるかどうかを返す * * @return bool true=ログイン中かつ管理者権限あり、false=未ログインまたはログイン中であるが管理者権限なし diff --git a/include/manager/pageManager.php b/include/manager/pageManager.php index 3d82ee2b..34e304ec 100644 --- a/include/manager/pageManager.php +++ b/include/manager/pageManager.php @@ -407,7 +407,6 @@ class PageManager extends Core M3_REQUEST_PARAM_FROM => 18, // メッセージの送信元ウィジェットID M3_REQUEST_PARAM_VIEW_STYLE => 19, // 表示スタイル M3_REQUEST_PARAM_FORWARD => 20, // 画面遷移用パラメータ - M3_REQUEST_PARAM_ADMIN_KEY => 21, // 管理者一時キー M3_REQUEST_PARAM_OPEN_BY => 22, // ウィンドウの開き方 M3_REQUEST_PARAM_SHOW_HEADER => 23, // ヘッダ部表示制御 M3_REQUEST_PARAM_SHOW_FOOTER => 24, // フッタ部表示制御 @@ -1335,9 +1334,9 @@ class PageManager extends Core } } else { // 管理者キーがあればGETまたはPOST値のセッションIDを使用する - if ($gEnvManager->isAdminDirAccess()){ - if ($gAccessManager->isValidAdminKey()) session_id($gRequestManager->trimValueOf(session_name())); - } +// if ($gEnvManager->isAdminDirAccess()){ +// if ($gAccessManager->isValidAdminKey()) session_id($gRequestManager->trimValueOf(session_name())); +// } } // 最終HTML(ページ全体で使用するHTML)の出力 diff --git a/include/sql/create_base.sql b/include/sql/create_base.sql index 82c1a14f..fb09da51 100644 --- a/include/sql/create_base.sql +++ b/include/sql/create_base.sql @@ -168,7 +168,7 @@ CREATE TABLE _session ( PRIMARY KEY (ss_id) ) ENGINE=innodb; --- 管理者一時キートラン +-- 管理者一時キートラン(廃止予定) DROP TABLE IF EXISTS _admin_key; CREATE TABLE _admin_key ( ak_id CHAR(32) DEFAULT '' NOT NULL, -- ID diff --git a/widgets/photo_main/include/container/admin_photo_mainImagebrowseWidgetContainer.php b/widgets/photo_main/include/container/admin_photo_mainImagebrowseWidgetContainer.php index f43a45c1..57351db0 100644 --- a/widgets/photo_main/include/container/admin_photo_mainImagebrowseWidgetContainer.php +++ b/widgets/photo_main/include/container/admin_photo_mainImagebrowseWidgetContainer.php @@ -359,14 +359,6 @@ class admin_photo_mainImagebrowseWidgetContainer extends admin_photo_mainBaseWid $this->tmpl->addVar('_widget', 'directory_name', $this->convertToDispString($dirName));// ディレクトリ作成用 // アップロード実行用URL -/* $uploadUrl = $this->gEnv->getDefaultAdminUrl() . '?' . M3_REQUEST_PARAM_OPERATION_COMMAND . '=' . M3_REQUEST_CMD_CONFIG_WIDGET; // ウィジェット設定画面 - $uploadUrl .= '&' . M3_REQUEST_PARAM_WIDGET_ID . '=' . $this->gEnv->getCurrentWidgetId(); // ウィジェットID - $uploadUrl .= '&' . M3_REQUEST_PARAM_OPERATION_TASK . '=' . self::TASK_IMAGEBROWSE; - $uploadUrl .= '&' . M3_REQUEST_PARAM_OPERATION_ACT . '=' . 'uploadimage'; -// $uploadUrl .= '&' . M3_REQUEST_PARAM_ADMIN_KEY . '=' . $this->gEnv->getAdminKey(); // 管理者キー - //$uploadUrl .= '&path=' . $this->adaptWindowsPath($path); - $uploadUrl .= '&path=' . $this->adaptWindowsPath(substr($path, strlen($this->photoBasePath))); // アップロードディレクトリ - */ $param = M3_REQUEST_PARAM_OPERATION_TASK . '=' . self::TASK_IMAGEBROWSE; $param .= '&' . M3_REQUEST_PARAM_OPERATION_ACT . '=' . 'uploadimage'; $param .= '&path=' . $this->adaptWindowsPath(substr($path, strlen($this->photoBasePath))); // アップロードディレクトリ -- 2.11.0