diff --git a/library/think/Validate.php b/library/think/Validate.php index 9fc5c1f1..52330ade 100644 --- a/library/think/Validate.php +++ b/library/think/Validate.php @@ -548,6 +548,21 @@ class Validate return checkdnsrr($value, $rule); } + /** + * 验证是否有效IP + * @access protected + * @param mixed $value 字段值 + * @param mixed $rule 验证规则 ipv4 ipv6 + * @return bool + */ + protected function ip($value, $rule) + { + if (!in_array($rule, ['ipv4', 'ipv6'])) { + $rule = 'ipv4'; + } + return $this->filter($value, FILTER_VALIDATE_IP, 'ipv6' == $rule ? FILTER_FLAG_IPV6 : FILTER_FLAG_IPV4); + } + /** * 验证请求类型 * @access protected