java - 确保此方法调用中使用的正则表达式不会导致拒绝服务
问题描述
在下面的代码中,SonarQube 建议避免灾难性的回溯 请建议如何解决 SonarQube 的这种拒绝服务
public static boolean ValidEmailAddress(String email)
{
final String ePattern = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
+ "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
java.util.regex.Pattern pattern = Pattern.compile(ePattern);
java.util.regex.Matcher m = pattern.matcher(email);
return m.matches();
}
解决方案
推荐阅读
- javascript - 将数据网格传递给子组件的反应网格布局不起作用
- python - 如何以多对多关系在 Django 模型中的两个字段之间执行计算
- node.js - 服务器端电子邮件验证:谷歌浏览器转换我的 URL,包括令牌
- javascript - 如何预加载网络工作者资产
- python - 如何更改日期时间格式并访问列表中的字典?
- javascript - 我的角度 onclick 没有带我到 ajax 服务器代码
- selenium - 在 Cucumber Selenium 中使用常见步骤时的多个浏览器实例
- javascript - React 虚拟化表排序问题
- javascript - Vue组件导出为库后无法相互解析
- wordpress - 如何修复 WordPress 上传中的图像旋转?