Visitar URL original
完善脚本引擎的使用说明 · APIJSON/APIJSON@a7d0f0f · GitHub
Skip to content

Commit a7d0f0f

Browse files
committed
完善脚本引擎的使用说明
1 parent b11b822 commit a7d0f0f

2 files changed

Lines changed: 10 additions & 1 deletion

File tree

‎APIJSONORM/src/main/java/apijson/orm/AbstractFunctionParser.java‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,9 @@ public abstract class AbstractFunctionParser<T, M extends Map<String, Object>, L
3131
/**开启支持远程函数
3232
*/
3333
public static boolean ENABLE_REMOTE_FUNCTION = true;
34-
/**开启支持远程函数中的 JavaScript 脚本形式
34+
/**开启支持远程函数中的 JavaScript/Python/Lua/PHP 等脚本形式。
35+
* JDK 8~13 可用自带 Nashorn 这个 js 引擎,注意配置 ClassFilter 防脚本注入攻击;
36+
* 其它语言及 JDK 14+ 都必须依赖外部脚本引擎,注意按对应引擎说明方式防脚本注入攻击,最好是沙箱环境。
3537
*/
3638
public static boolean ENABLE_SCRIPT_FUNCTION = false;
3739

‎APIJSONORM/src/main/java/apijson/orm/Operation.java‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,9 +124,16 @@ public enum Operation {
124124
* 例如 "sex != 0 && sex != 1": "throw new Error('sex 必须在 [0, 1] 内!')"
125125
* 自定义代码,当满足条件是执行后面的代码
126126
*
127+
* 还可以指定语言,例如 "python:sex not in(0, 1)": "throw new Error('sex 必须在 [0, 1] 内!')"
128+
*
127129
* 还有
128130
* "ELSE": ""
129131
* 自定义代码,不处理,和不传一样
132+
*
133+
* 需要
134+
* 1.AbstractFunctionParser.ENABLE_SCRIPT_FUNCTION = true 启用
135+
* 2.JDK 8~13 可用自带 Nashorn 这个 js 引擎,注意配置 ClassFilter 防脚本注入攻击;
136+
* 其它语言及 JDK 14+ 都必须依赖外部脚本引擎,注意按对应引擎说明方式防脚本注入攻击,最好是沙箱环境。
130137
*/
131138
IF,
132139

0 commit comments

Comments
 (0)