[webapp,common]监控host参数修复校验,添加本地启动帮助

This commit is contained in:
tomsun28
2022-02-19 22:56:17 +08:00
parent d6376a0cb2
commit 5d0cfcbec9
4 changed files with 61 additions and 3 deletions

View File

@@ -21,7 +21,7 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
@Constraint(validatedBy = HostParamValidator.class)
public @interface HostValid {
String message() default "Host value is invalid,must ipv4, ipv6 or domain";
String message() default "监控Host必须是ipv4,ipv6或域名";
Class<?>[] groups() default {};

View File

@@ -15,10 +15,13 @@ public class IpDomainUtil {
* 域名校验正则
*/
private static final Pattern DOMAIN_PATTERN =
Pattern.compile("^([hH][tT]{2}[pP]://|[hH][tT]{2}[pP][sS]://)?(([A-Za-z0-9-~]+).)+([A-Za-z0-9-~\\/])+$");
Pattern.compile("^(?=^.{3,255}$)[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+$");
private static final String LOCALHOST = "localhost";
/**
* HTTP协议头校验规则
*/
private static final Pattern DOMAIN_SCHEMA = Pattern.compile("^([hH][tT]{2}[pP]://|[hH][tT]{2}[pP][sS]://){1}[^\\s]*");
/**

View File

@@ -0,0 +1,39 @@
package com.usthe.common.util;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
/**
* @author tom
* @date 2022/2/19 20:32
*/
class IpDomainUtilTest {
@Test
void validateIpDomain() {
assertTrue(IpDomainUtil.validateIpDomain("127.7.5.3"));
assertTrue(IpDomainUtil.validateIpDomain("255.255.4.3"));
assertTrue(IpDomainUtil.validateIpDomain("255.255.255.255"));
assertTrue(IpDomainUtil.validateIpDomain("tancloud.cn"));
assertTrue(IpDomainUtil.validateIpDomain("tancloud.com.cn"));
assertTrue(IpDomainUtil.validateIpDomain("student.dev.com.cn"));
assertTrue(IpDomainUtil.validateIpDomain("www.student.dev.com.cn"));
assertTrue(IpDomainUtil.validateIpDomain("www.baidu.com"));
assertTrue(IpDomainUtil.validateIpDomain("good.didi"));
assertFalse(IpDomainUtil.validateIpDomain("tmp"));
assertFalse(IpDomainUtil.validateIpDomain("good"));
assertFalse(IpDomainUtil.validateIpDomain("www.baidu.com."));
assertFalse(IpDomainUtil.validateIpDomain("good."));
assertFalse(IpDomainUtil.validateIpDomain(".good."));
}
@Test
void isHasSchema() {
assertTrue(IpDomainUtil.isHasSchema("http://www.baidu.com"));
assertTrue(IpDomainUtil.isHasSchema("https://www.baidu.com"));
assertFalse(IpDomainUtil.isHasSchema("www.baidu.com"));
assertFalse(IpDomainUtil.isHasSchema("https_www.baidu.com"));
}
}