七月初,cloudflare 曾经全球中断服务,原因是一个正则表达式耗尽了 CPU 资源。
这个正则表达式如下
- (?:(?:"|'|\]|\}|\\|\d|(?:nan|infinity|true|false|null|undefined|symbol|math)|\`|\-|\+)+[)]*;?((?:\s|-|~|!|{}|\|\||\+)*.*(?:.*=.*)))
复制代码
👃🚐🍌📳
看着是很复杂,简化以后,出问题是这个模式 ..=.* ,它会导致急剧放大的计算量。后面链接详细解释,为什么这个模式有问题。
关于 2019 年 7 月 2 日 Cloudflare 中断的详情🧑🌾👑🧯😒🧠