import java.net.URI;
import java.net.URISyntaxException;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class UrlValidator {
private static final Pattern SAFE_URL_PATTERN = Pattern.compile("^(http|https)://[^/]+/.*$");
public static boolean isSafeUrl(String url) {
if (url == null || url.isEmpty()) {
return false;
}
// 基本的 URL 格式验证
Matcher matcher = SAFE_URL_PATTERN.matcher(url);
if (!matcher.matches()) {
return false;
}
try {
URI uri = new URI(url);
// 检查协议是否为 http 或 https
if (!"http".equals(uri.getScheme()) && !"https".equals(uri.getScheme())) {
return false;
}
SSRF-确保URL不会引发SSRF漏洞
最新推荐文章于 2025-12-24 10:29:31 发布
订阅专栏 解锁全文
1902

被折叠的 条评论
为什么被折叠?



