[Bug]:主机名 rfc1123验证不执行IPv4 octet检查
作者: hsharma001创建于 2026年4月15日更新于 2026年4月27日
标签bug
发生了什么事?
根据rfc1123:"一个有效的主机名称永远不能有被点-十进制的形式#.#.#.#,因为至少最高级别的组件标签将是字母化的". 然而,例如,277.168.0.1作为有效的主机返回,由于第一个octet,这个IPv4地址不是有效的IPv4地址,不应该是基于上面所引用的rfc的有效主机名.
翻译:
第10个
示例代码
开始 func TestHostname RFC1123 变异(t *testing.T) { 测试 := [] struct { 参数字符串 预期的布尔 }{ {"277.168.01","假", {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? . . . . . . . . . {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
-- -- FAIL:测试名称RFC1123 参数(0.00s) 校验器-master/validator test.go:10679:主机名:{277.168.0.1 假}失败 错误:<无> 错误 FAIL GitHub.com/去玩地/验证人/v100.011s 存档副本. 错误
内容来源: go-playground/validator