1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- EN-Revision: 21740 -->
4 <sect2 id="zend.validate.set.ip">
8 <classname>Zend_Validate_Ip</classname> erlaubt es zu Prüfen ob ein gegebener Wert eine IP
9 Adresse ist. Er unterstützt den IPv4 und auch den IPv6 Standard.
12 <sect3 id="zend.validate.set.ip.options">
13 <title>Unterstützte Optionen für Zend_Validate_Ip</title>
16 Die folgenden Optionen werden für <classname>Zend_Validate_Ip</classname> unterstützt:
22 <emphasis><property>allowipv4</property></emphasis>: Definiert ob die Prüfung
23 IPv4 Adressen erlaubt. Diese Option ist standardmäßig <constant>TRUE</constant>.
29 <emphasis><property>allowipv6</property></emphasis>: Definiert ob die Prüfung
30 IPv6 Adressen erlaubt. Diese Option ist standardmäßig <constant>TRUE</constant>.
36 <sect3 id="zend.validate.set.ip.basic">
37 <title>Grundsätzliche Verwendung</title>
40 Ein einfaches Beispiel für die Verwendung ist anbei:
43 <programlisting language="php"><![CDATA[
44 $validator = new Zend_Validate_Ip();
45 if ($validator->isValid($ip)) {
46 // IP scheint gültig zu sein
48 // IP ist ungültig; Gründe ausgeben
53 <title>Ungültige IP Adressen</title>
56 Es ist zu beachten das <classname>Zend_Validate_Ip</classname> nur IP Adressen
57 prüft. Adressen wie 'mydomain.com' oder '192.168.50.1/index.html' sind keine
58 gültigen IP Adressen. Sie sind entweder Hostnamen oder gültige
59 <acronym>URL</acronym>s, aber keine IP Adressen.
64 <title>IPv6 Prüfung</title>
67 <classname>Zend_Validate_Ip</classname> prüft IPv6 Adressen mit einer Regex. Der
68 Grund ist, dass die Filter und Methoden von <acronym>PHP</acronym> der RFC nicht
69 folgen. Viele andere vorhandene Klassen folgen Ihr auch nicht.
74 <sect3 id="zend.validate.set.ip.singletype">
75 <title>IPv4 oder IPv6 alleine prüfen</title>
78 Manchmal ist es nützlich nur eines der unterstützten Formate zu prüfen. Zum Beispiel
79 wenn das eigene Netzwert nur IPv4 unterstützt. In diesem Fall wäre es sinnlos IPv6
80 in der Prüfung zu erlauben.
84 Um <classname>Zend_Validate_Ip</classname> auf ein Protokoll zu begrenzen kann man die
85 Optionen <property>allowipv4</property> oder <property>allowipv6</property> auf
86 <constant>FALSE</constant> setzen. Man kann das durchführen indem die Option entweder im
87 Constructor angegeben wird, oder indem <methodname>setOptions()</methodname> im
88 Nachhinein verwendet wird.
91 <programlisting language="php"><![CDATA[
92 $validator = new Zend_Validate_Ip(array('allowipv6' => false);
93 if ($validator->isValid($ip)) {
94 // IP scheint eine gültige IPv4 Adresse zu sein
96 // IP ist keine IPv4 Adresse
101 <title>Standard Verhalten</title>
104 Das Standardverhalten dem <classname>Zend_Validate_Ip</classname> folgt, ist es
105 beide Standards zu erlauben.