Das war der Vorschlag für eine alternative Vorgehensweise, bei der nur der Regex und die Grenzwertprüfung übrigbleiben. Die Prüfung wäre dann lediglich:
if (preg_match("!^(\d{1,3}).(\d{1,3}).(\d{1,3}).(\d{1,3}):(\d{1,5)$!", $_POST..., $matches) &&
$matches[1] < 256 && $matches[2] < 256 && ... && $matches[5] < 65536)
Hey also die Prüfung des Ports funktioniert so nicht. Vernwede ich alles mit:
:(\d{1,5)
dann funktioniert das ganze nicht. Nehme ich es aber aus dem Code, dann funktioniert alles.