Naoki427 8 месяцев назад
Родитель
Сommit
132929a2fd
1 измененных файлов с 10 добавлено и 0 удалено
  1. 10 0
      apps/app/src/server/routes/admin.js

+ 10 - 0
apps/app/src/server/routes/admin.js

@@ -104,6 +104,16 @@ module.exports = function(crowi, app) {
       return res.json(ApiResponse.error('esa.io form is blank'));
     }
 
+    const ALLOWED_KEYS = ['importer:esa:team_name', 'importer:esa:access_token'];
+    const receivedKeys = Object.keys(form);
+
+    const unexpectedKeys = receivedKeys.filter(key => !ALLOWED_KEYS.includes(key));
+
+    if (unexpectedKeys.length > 0) {
+      logger.warn('Esa config update contained unexpected keys.', { unexpectedKeys });
+      return res.json(ApiResponse.error('Invalid config keys provided.'));
+    }
+
     await configManager.updateConfigs(form);
     importer.initializeEsaClient(); // let it run in the back aftert res
     const parameters = { action: SupportedAction.ACTION_ADMIN_ESA_DATA_UPDATED };