Zend_Validate-Ip.xml 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 24249 -->
  3. <!-- Reviewed: no -->
  4. <sect2 id="zend.validate.set.ip">
  5. <title>Ip</title>
  6. <para>
  7. <classname>Zend_Validate_Ip</classname> erlaubt es zu Prüfen ob ein gegebener Wert eine IP
  8. Adresse ist. Er unterstützt den IPv4 und auch den IPv6 Standard.
  9. </para>
  10. <sect3 id="zend.validate.set.ip.options">
  11. <title>Unterstützte Optionen für Zend_Validate_Ip</title>
  12. <para>
  13. Die folgenden Optionen werden für <classname>Zend_Validate_Ip</classname> unterstützt:
  14. </para>
  15. <itemizedlist>
  16. <listitem>
  17. <para>
  18. <emphasis><property>allowipv4</property></emphasis>: Definiert ob die Prüfung
  19. IPv4 Adressen erlaubt. Diese Option ist standardmäßig <constant>TRUE</constant>.
  20. </para>
  21. </listitem>
  22. <listitem>
  23. <para>
  24. <emphasis><property>allowipv6</property></emphasis>: Definiert ob die Prüfung
  25. IPv6 Adressen erlaubt. Diese Option ist standardmäßig <constant>TRUE</constant>.
  26. </para>
  27. </listitem>
  28. </itemizedlist>
  29. </sect3>
  30. <sect3 id="zend.validate.set.ip.basic">
  31. <title>Grundsätzliche Verwendung</title>
  32. <para>
  33. Ein einfaches Beispiel für die Verwendung ist anbei:
  34. </para>
  35. <programlisting language="php"><![CDATA[
  36. $validator = new Zend_Validate_Ip();
  37. if ($validator->isValid($ip)) {
  38. // IP scheint gültig zu sein
  39. } else {
  40. // IP ist ungültig; Gründe ausgeben
  41. }
  42. ]]></programlisting>
  43. <note>
  44. <title>Ungültige IP Adressen</title>
  45. <para>
  46. Es ist zu beachten das <classname>Zend_Validate_Ip</classname> nur IP Adressen
  47. prüft. Adressen wie '<filename>mydomain.com</filename>' oder
  48. '<filename>192.168.50.1/index.html</filename>' sind keine gültigen IP Adressen. Sie
  49. sind entweder Hostnamen oder gültige <acronym>URL</acronym>s, aber keine IP
  50. Adressen.
  51. </para>
  52. </note>
  53. <note>
  54. <title>IPv6 Prüfung</title>
  55. <para>
  56. <classname>Zend_Validate_Ip</classname> prüft IPv6 Adressen mit einer Regex. Der
  57. Grund ist, dass die Filter und Methoden von <acronym>PHP</acronym> der
  58. <acronym>RFC</acronym> nicht folgen. Viele andere vorhandene Klassen folgen Ihr auch
  59. nicht.
  60. </para>
  61. </note>
  62. </sect3>
  63. <sect3 id="zend.validate.set.ip.singletype">
  64. <title>IPv4 oder IPv6 alleine prüfen</title>
  65. <para>
  66. Manchmal ist es nützlich nur eines der unterstützten Formate zu prüfen. Zum Beispiel
  67. wenn das eigene Netzwert nur IPv4 unterstützt. In diesem Fall wäre es sinnlos IPv6
  68. in der Prüfung zu erlauben.
  69. </para>
  70. <para>
  71. Um <classname>Zend_Validate_Ip</classname> auf ein Protokoll zu begrenzen kann man die
  72. Optionen <property>allowipv4</property> oder <property>allowipv6</property> auf
  73. <constant>FALSE</constant> setzen. Man kann das durchführen indem die Option entweder im
  74. Constructor angegeben wird, oder indem <methodname>setOptions()</methodname> im
  75. Nachhinein verwendet wird.
  76. </para>
  77. <programlisting language="php"><![CDATA[
  78. $validator = new Zend_Validate_Ip(array('allowipv6' => false);
  79. if ($validator->isValid($ip)) {
  80. // IP scheint eine gültige IPv4 Adresse zu sein
  81. } else {
  82. // IP ist keine IPv4 Adresse
  83. }
  84. ]]></programlisting>
  85. <note>
  86. <title>Standard Verhalten</title>
  87. <para>
  88. Das Standardverhalten dem <classname>Zend_Validate_Ip</classname> folgt, ist es
  89. beide Standards zu erlauben.
  90. </para>
  91. </note>
  92. </sect3>
  93. </sect2>