2016-10-01 2 views
1
var_dump(filter_var('10.1.1.1', FILTER_VALIDATE_IP, FILTER_FLAG_NO_RES_RANGE)); 

Drucke (in PHP 7.0.11):BUG in PHP 7.0.11, FILTER_FLAG_NO_RES_RANGE

bool(false) 

Aber die Dokumentation gemäß ist, sollte drucken:

string(8) "10.1.1.1" 

PHPDoc : FILTER_FLAG_NO_RES_RANGE http://php.net/manual/en/filter.filters.flags.php

Fehlerprüfung für die folgenden reservierten IPv4-Bereiche: 0.0.0.0.0/8, 169.254.0.0/16, 127.0.0.0/8 und 240.0.0.0/4.

Fehlerprüfung für die folgenden reservierten IPv6-Bereiche: :: 1/128, ::/128, :: ffff: 0: 0/96 und fe80 ::/10.

Ist das ein Fehler oder fehlt mir etwas?

Antwort

1

10.1.1.1ist ein reserved IP addresses. Dies war eine bahnbrechende Änderung, die mit #1954 eingeführt wurde. Es wird mit #2113 behoben werden.

+0

Aber es ist nicht einmal konsistent über die Version https://3v4l.org/DONMm#v5625. Also sollte es alle reservierten/nicht öffentlichen gerouteten IP-Adressen filtern? Wie kann ich das PHP-Dokument aktualisieren? – Mvorisek

+0

Ja, warten Sie auf https://github.com/php/php-src/pull/2113 – Federkun