1. 脚本调用公式限制
1.1 描述
JS 中 FR.remoteEvaluate 这个接口,可以用来调用 SQL 公式,其使用频率较高,但这个接口也存在巨大的安全风险,FR.remoteEvaluate(formula) 中执行的 SQL 在请求中是明文的,只要某张模板使用了这个方法,或者攻击者知道有这个接口,就可以通过前端执行 JS 来实现对数据库的增删查改等操作,其风险等级已经相当于远程执行了。所以 FineReport9.0 和 FineReport10.0 都新增了脚本调用公式限制这一功能,当用户使用了 JS 中的 FR.remoteEvaluate这个接口,并且接口的 formula 使用的是公式中的报表类函数,如果用户开启了脚本调用公式限制开关,则效果预览时弹出提示框信息此调用存在安全风险,如需使用请在安全管理中修改脚本调用公式限制。
注:如果用户没有相应使用场景,建议不要随便关闭该功能,关闭会有上述漏洞的风险,如有无法替代的场景可以提需求。
1.2 示例
单元格 B4 输入Test,为单元格添加超级链接> JavaScript 脚本,如下图所示:
点击分页预览,点击Test,弹出提示框信息,如下图所示:
1.3 开关位置
登录决策系统,进入管理系统>系统管理>常规>脚本调用公式限制。