Wie überprüfe ich, ob eine Benutzereingabe eine gültige IP-Adresse ist oder nicht?

Lesezeit: 2 Minuten

Benutzeravatar von Sanjay dev
Sanjay-Entwickler

Ich möchte überprüfen, ob eine eingegebene Eingabe eine gültige IP-Adresse ist oder nicht. Ich hätte gerne eine bestimmte Funktion, die mir hilft, eine Benutzereingabe zu validieren.

  • Bitte geben Sie nicht alle Großbuchstaben ein, das gilt in der Stake Overflow-Kultur als unhöflich. Außerdem ist das gesuchte Wort “Jungs”, nicht “Schwule”.

    – König Skippus

    2. Juni 2011 um 6:24 Uhr

  • @wallyk Ich bin mir auch ziemlich sicher, dass dies schon einmal gefragt wurde, aber verlinke zumindest auf die doppelte Frage. Die Seitenleiste zeigt nichts Passendes, also ist es anscheinend nicht so einfach zu finden. @SANJAY Bitte tun suche aber bevor du fragst. 🙂

    – verzeihen

    2. Juni 2011 um 6:25 Uhr

  • @deceze: Ich habe nicht nach einer früheren Antwort gesucht, aber ich weiß, dass ich sie in den letzten Jahren mehrmals gefragt und beantwortet habe.

    – Wallyk

    2. Juni 2011 um 6:41 Uhr

Benutzeravatar von deceze
verzeihen

filter_var($ip, FILTER_VALIDATE_IP)

http://www.php.net/filter_var

Beispiel:-

if(filter_var($ip, FILTER_VALIDATE_IP)){
  echo 'Valid IP';
} else {
  echo 'Not Valid IP';
}

  • Normalerweise überprüfe ich auch, ob es sich nicht um eine private oder reservierte IP handelt: filter_var($agree_ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)

    – Eric B

    15. Mai 2015 um 14:36 ​​Uhr


  • Gibt es eine ähnliche Möglichkeit, um zu überprüfen, ob die Eingabe der Subnetzmaske des Benutzers gültig ist?

    – Rahim Khoja

    11. April 2016 um 20:11 Uhr

  • HINWEIS! Es validiert “::1” 🙁

    – David Konstantin

    4. August 2017 um 18:43 Uhr


  • @DavidConstantine Denn das ist eine gültige IPv6-Adresse.

    – verzeihen

    4. August 2017 um 18:52 Uhr

Benutzeravatar von chiborg
chiborg

// Usually you'd get the value from $_POST or $_GET
$ip = "10.3.1.5";
if(!filter_var($ip, FILTER_VALIDATE_IP)) {
   echo "Not a valid IP address!";
}

Sie können dies ändern, indem Sie nach IPv4- und IPv6-IP-Adressen filtern und private und reservierte IPs ausschließen.

http://www.php.net/manual/filter.filters.validate.php

Durch die Nutzung preg_match();

function checkIPAddress($ipAddress) 
{
    return preg_match('/^(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:[.](?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}$/', $ipAddress);
}

  • Es erkennt nur ipv4 ip. Nicht IPv6. Siehe beide IPs. is2a02:a03f:e8ea:c00:5cbc:fd44:5a92:8399 und 38.290.20.11

    – Tut mir leid, ich sage es nicht

    9. Januar 2021 um 13:17 Uhr

1405250cookie-checkWie überprüfe ich, ob eine Benutzereingabe eine gültige IP-Adresse ist oder nicht?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy