Ruby 3.2.0 Preview 1 发布,引入正则表达式超时退出机制
Ruby 3.2.0 Preview 1 已发布。此版本增加了许多新特性,以及优化性能。
基于 WASI 的 WebAssembly 支持
这是基于 WASI 的 WebAssembly 支持的初始移植。此项特性使得 CRuby 二进制文件可在 Web 浏览器、Serverless Edge 环境和其他 WebAssembly/WASI 嵌入器上使用。目前,此移植可在不使用 Thread API 的前提下通过基本和引导测试套件的测试。
正则表达式超时退出机制
此版本引入了正则表达式超时退出机制。
Regexp.timeout = 1.0 /^a*b?a*$/ =~ "a" * 50000 + "x" #=> Regexp::TimeoutError is raised in one second
由于正则表达式匹配会耗费不少时间,当代码试图向不受信任的输入匹配低效的正则表达式时,攻击者可能会利用它进行 DoS 攻击(即正则表达式 DoS,或称作 ReDoS)。
Regexp.timeout
根据 Ruby 应用程序的要求进行配置,可以防止或显着降低 DoS 的风险。请注意,Regexp.timeout
是全局配置项,如果希望对某些特殊的正则表达式使用不同的超时设置,需要使用timeout
关键字Regexp.new
。
Regexp.timeout = 1.0 # This regexp has no timeout long_time_re = Regexp.new("^a*b?a*$", timeout: nil) long_time_re =~ "a" * 50000 + "x" # never interrupted
此项特性的最初提案:https://bugs.ruby-lang.org/issues/17837
其他更新内容包括优化性能,更新标准库等,详情查看发布公告。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Q4OS 4.8 稳定版发布,基于 Debian 的桌面发行版
Q4OS 4.8 稳定版已发布,代号"Gemini"。 主要变化 将底层系统升级至最新的Debian Bullseye 11.3,包含重要的安全和错误修复 针对Desktop Profiler 以及其他 Q4OS 工具的本地化和语言支持 API 库已被重写,并进行了大幅度优化 完善安装工具,强化安装过程的安全性 Q4OS Gemini 基于 Debian Bullseye 11 和 Plasma 5.20,可选择搭载 Trinity 14.0.10 桌面环境,它可安装在 64 位 / x64 和 32 位 / i686pae 计算机上,也可用于没有 PAE 扩展的旧 i386 系统。开发团队称,他们也在努力使它适用于 ARM 设备。 Q4OS 4.8 下载地址:https://www.q4os.org/downloads1.html Q4OS 是基于 Debian 的桌面 Linux 发行版,使用 KDE 4 的分支 Trinity 和 KDE Plasma 作为桌面环境。Q4OS 提供了简单的附件,并提供稳定的应用程序编程接口以支持复杂的第三方应用软件,例如谷歌 Chrome、Vir...
- 下一篇
Ubuntu MATE 22.04 Beta 发布
Ubuntu MATE 22.04 Beta 近日发布,通过该 Beta 版本,用户可以看到 Ubuntu MATE 的最新变化和正在尝试的内容。按照开发计划,稳定版本将于 4 月底发布。 以下是 Ubuntu MATE 22.04 Beta 的主要变化和亮点: MATE Desktop 1.26.1 Ubuntu MATE 22.04 具有 MATE Desktop 1.26.1。MATE Desktop 1.26.0 修复了大量 bug、优化性能,并解决了内存泄漏问题。还修复了 Plank 和 Brisk Menu 和屏幕阅读器在安装过程中的问题。 Yaru Ubuntu MATE 21.04 是第一个带有 Yaru 主题的版本。一年后,团队为上游的 Yaru 带来完全的 MATE 兼容性。 Ubuntu MATE 22.04 中的 Yaru 主题 在 Ubuntu MATE 22.04 中包含了所有的 Yaru 主题,传统的 Ambiant/Radiant 主题和 MATE Desktop 主题不再被默认安装。新版本增加了一个自动设置迁移功能,以便将升级的用户过渡到合适的 Yar...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS关闭SELinux安全模块
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7设置SWAP分区,小内存服务器的救世主