Beetl 模板引擎 3.17,10 年来第一次不兼容发版
Beetl作为后台模板引擎,2011年开始,每次修改都调会考虑到兼容性。本次调整是近10年以来第一次不兼容性调整
- 安全漏洞CVE-2024-22533 修复,Beetl默认将不再支持Java直接调用.
- Beetl的安全管理器设置为白名单方式WhiteListNativeSecurityManager,代替DefaultNativeSecurityManager
NATIVE_CALL = FALSE NATIVE_SECUARTY_MANAGER= org.beetl.core.WhiteListNativeSecurityManager
不兼容回顾:Beetl作为模板语言,支持Java方法和属性的直接调用,并通过安全调用管理器限制一些不安全调用
var array= @java.util.Arrays.asList(1,2,3);//允许 @java.lang.System.exit(1) ; //默认不允许 var list = @myDao.query("select * from xxx") //通过配置不允许
安全管理器用于限制程序员编写”不安全“的代码,包括如上`System.exit`,或者团队禁止直接调用业务方法。使用Beetl作为后台模板语言并不会导致安全漏洞,但如果把模板的编写能力开放给最终用户,即用户可以通过浏览器提交模板内容,那么有可能被黑客攻击,这种攻击类似Fastjson或者Jackson,Struts那样的反序列化漏洞。尽管这是在特定场合出现,但现在一些软件管理系统只要看到开源软件有CVE,公司就禁止使用。 Beetl出现的CVE有如下
- 安全漏洞CVE-2024-22533
- 安全漏洞CVE-2023-30331
- 安全漏洞CVE-2024-22262
如果把编写编译Java代码的能力开放给任意用户,Java语言也有安全漏洞
Maven
<dependency> <groupId>com.ibeetl</groupId> <artifactId>beetl</artifactId> <version>3.17.0.RELEASE</version> </dependency>
最新模板性能测试,各个模板引擎均采用最新版本, Score 越大越好
Beetl=Enjoy>Rocker>>Freemarker>>Thymeleaf==Velociy
Benchmark Mode Cnt Score Error Units Beetl.benchmark thrpt 5 109547.863 ± 17161.576 ops/s BeetlByte.benchmark thrpt 5 237799.769 ± 5904.514 ops/s Enjoy.benchmark thrpt 5 99695.440 ± 14083.595 ops/s EnjoyByte.benchmark thrpt 5 223874.001 ± 7265.307 ops/s Freemarker.benchmark thrpt 5 41452.634 ± 15917.119 ops/s Handlebars.benchmark thrpt 5 40360.198 ± 24345.048 ops/s Rocker.benchmark thrpt 5 63657.017 ± 4653.265 ops/s Thymeleaf.benchmark thrpt 5 6457.169 ± 272.613 ops/s Velocity.benchmark thrpt 5 8024.042 ± 2097.396 ops/s
最新规则引擎性能测试,Score 越大越好
JfireEL>> Aviator=Beetl=Jexl3 >>Spel>>Mvel=Groovy>>Nashor
Benchmark Mode Cnt Score Error Units Aviator.forExpresss thrpt 5 501413.321 ± 4657.336 ops/s Aviator.ifExpresss thrpt 5 4699456.542 ± 266831.101 ops/s Aviator.simpleExpress thrpt 5 3868701.018 ± 38439.986 ops/s Beetl.forExpresss thrpt 5 1685875.017 ± 28454.020 ops/s Beetl.ifExpresss thrpt 5 4461489.443 ± 78687.317 ops/s Beetl.reflect thrpt 5 62972.088 ± 85785.390 ops/s Beetl.simpleExpress thrpt 5 4328852.130 ± 144586.699 ops/s Groovy.ifExpresss thrpt 5 119493.364 ± 1472.301 ops/s Groovy.simpleExpress thrpt 5 121724.720 ± 1533.726 ops/s Jexl3.forExpresss thrpt 5 789815.632 ± 42390.393 ops/s Jexl3.ifExpresss thrpt 5 4500714.752 ± 138214.400 ops/s Jexl3.simpleExpress thrpt 5 3901843.173 ± 125472.114 ops/s JfireEL.ifExpresss thrpt 5 28337464.920 ± 291859.385 ops/s JfireEL.simpleExpress thrpt 5 18824292.084 ± 103241.504 ops/s Mvel.forExpresss thrpt 5 11954.857 ± 84.105 ops/s Mvel.ifExpresss thrpt 5 230373.242 ± 1827.288 ops/s Mvel.simpleExpress thrpt 5 316083.646 ± 1320.717 ops/s Nashorn.ifExpresss thrpt 5 10010.541 ± 752.057 ops/s Nashorn.simpleExpress thrpt 5 8993.022 ± 518.940 ops/s Spel.ifExpresss thrpt 5 850338.540 ± 41826.542 ops/s Spel.simpleExpress thrpt 5 636251.839 ±

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
智能制造 v3.13.19 发布,全新大版本 更新
智能制造一体化管理系统[SpringBoot2 - 快速开发平台],适用于制造业、建筑业、汽车行业、互联网、教育、政府机关等机构的管理。包含文件在线操作、工作日志、多班次考勤、CRM、ERP 进销存、项目管理、EHR、拖拽式生成问卷、日程、笔记、工作计划、行政办公、薪资模块、动态表单、知识库、公告模块、企业论坛、云售后模块、生产模块、系统模块化同步模块等多种复杂业务功能。 Skyeye 云系列所有产品源代码已针对知识星球用户全面开放,有需要的联系我加入啦。 我们这次源代码开放给很多用户带来了疑问,为什么企业版的全部开放源代码?确定是所有源代码?不会有后门吧?等等。 在此,作者声明,源代码确定是全部开放,毫无保留,全部开放。开放的原因是我们修改了我们未来的发展方向,方便大家使用和学习。 智能制造 v3.13.19 大版本 发布,发布内容如下: 对CRM、ERP、MES做了全新的升级,加入了更多的支撑功能 对行政模块进行了升级 多个功能模块添加了一物一码的功能 添加了全新版本的移动端,目前移动端占据功能达到90% 界面做了全新的升级,添加了多种风格元素 添加了网关的支持 售后模块做了全新的...
- 下一篇
deepin V23 前瞻丨携手 Intel Ultra 平台,引领 AI PC 技术创新
查看原文 在数字化转型的浪潮中,操作系统作为连接硬件与软件的桥梁,其性能与兼容性的每一次飞跃,都标志着计算技术迈出了坚实的一步。deepin V23版本将支持Intel最新的Ultra平台,这使得deepin V23有望成为当前市场最适合AI PC的操作系统之一,在推动开源操作系统与先进硬件技术融合方面迈出了历史性的一步。 deepin V23:引领AI与操作系统融合新时代 deepin,作为一款基于Linux的开源桌面操作系统,自诞生以来就以其美观易用、安全可靠的特点受到了全球用户的喜爱。从早期的版本到如今即将发布的V23,deepin始终致力于提升用户体验、加强系统稳定性,并不断探索与AI新技术、新硬件的融合之路。 Intel Ultra:新一代处理器的能效革命 Ultra是Intel推出的新一代处理器品牌,也就是大家熟知的Meteor Lake,升级全新的Intel 4制造工艺、分离式模块化架构、全新的CPU/GPU架构,更在能耗比上取得了显著提升,为Meteor Lake处理器带来了前所未有的能效表现,为高性能计算奠定了坚实基础。 深度适配:deepin V23与Intel...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- 2048小游戏-低调大师作品
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2全家桶,快速入门学习开发网站教程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,CentOS7官方镜像安装Oracle11G