2016-08-23 23 views
-1

任何人都可以解释为什么下面的代码返回truthy在< 5.6.25,以上所有内容都是错误的? 我的理解是应该是真理,因为192.168.0.1是一个有效的内部IP。IP验证不一致从PHP 5.6.25

var_dump(filter_var('192.168.0.1', FILTER_VALIDATE_IP, FILTER_FLAG_NO_RES_RANGE | FILTER_FLAG_IPV4));

见不同版本的结果:https://3v4l.org/u9OFt

回答

3

192.168.x在保留的范围C类地址,并且已指定FILTER_FLAG_NO_RES_RANGE将它们排除在外。

这是可能的,这是一个固定的臭虫在25年6月5日起,随着回归中我可能会混淆保留和私营这里7.x的

+0

的初始版本。 – jedifans

+0

有道理。我误读了'FILTER_FLAG_NO_RES_RANGE'作为_lowlowing_保留范围。我似乎无法找到变更日志中的变化,尽管它现在变得有意义了 – shauno

+0

'过滤器: 修复了错误#71745(FILTER_FLAG_NO_RES_RANGE未覆盖整个127.0.0.0/8范围@shawn –