浏览代码

В cli добавлен параметр 'unsafe-filter'

Book Pauk 2 年之前
父节点
当前提交
9c72651804
共有 2 个文件被更改,包括 7 次插入2 次删除
  1. 6 2
      server/core/DbCreator.js
  2. 1 0
      server/index.js

+ 6 - 2
server/core/DbCreator.js

@@ -76,8 +76,12 @@ class DbCreator {
         if (inpxFilter) {
 
             let recFilter = () => true;
-            if (inpxFilter.filter)
-                recFilter = new Function(`'use strict'; return ${inpxFilter.filter}`)();
+            if (inpxFilter.filter) {
+                if (config.allowUnsafeFilter)
+                    recFilter = new Function(`'use strict'; return ${inpxFilter.filter}`)();
+                else
+                    throw new Error(`Unsafe property 'filter' detected in ${this.config.inpxFilterFile}. Please specify '--unsafe-filter' param if you know what you're doing.`);
+            }
 
             filter = (rec) => {
                 let author = rec.author;

+ 1 - 0
server/index.js

@@ -104,6 +104,7 @@ async function init() {
 
     config.recreateDb = argv.recreate || false;
     config.inpxFilterFile = `${config.execDir}/inpx-web-filter.json`;
+    config.allowUnsafeFilter = argv['unsafe-filter'] || false;
 
     //app
     const appDir = `${config.publicDir}/app`;