Zend_Validate-Ip.xml 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 21243 -->
  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 'mydomain.com' oder '192.168.50.1/index.html' sind keine
  48. gültigen IP Adressen. Sie sind entweder Hostnamen oder gültige
  49. <acronym>URL</acronym>s, aber keine IP Adressen.
  50. </para>
  51. </note>
  52. <note>
  53. <title>IPv6 Prüfung</title>
  54. <para>
  55. <classname>Zend_Validate_Ip</classname> prüft IPv6 Adressen mit einer Regex. Der
  56. Grund ist, dass die Filter und Methoden von PHP der RFC nicht folgen. Viele andere
  57. vorhandene Klassen folgen Ihr auch nicht.
  58. </para>
  59. </note>
  60. </sect3>
  61. <sect3 id="zend.validate.set.ip.singletype">
  62. <title>IPv4 oder IPv6 alleine prüfen</title>
  63. <para>
  64. Manchmal ist es nützlich nur eines der unterstützten Formate zu prüfen. Zum Beispiel
  65. wenn das eigene Netzwert nur IPv4 unterstützt. In diesem Fall wäre es sinnlos IPv6
  66. in der Prüfung zu erlauben.
  67. </para>
  68. <para>
  69. Um <classname>Zend_Validate_Ip</classname> auf ein Protokoll zu begrenzen kann man die
  70. Optionen <property>allowipv4</property> oder <property>allowipv6</property> auf
  71. <constant>FALSE</constant> setzen. Man kann das durchführen indem die Option entweder im
  72. Constructor angegeben wird, oder indem <methodname>setOptions()</methodname> im
  73. Nachhinein verwendet wird.
  74. </para>
  75. <programlisting language="php"><![CDATA[
  76. $validator = new Zend_Validate_Ip(array('allowipv6' => false);
  77. if ($validator->isValid($ip)) {
  78. // IP scheint eine gültige IPv4 Adresse zu sein
  79. } else {
  80. // IP ist keine IPv4 Adresse
  81. }
  82. ]]></programlisting>
  83. <note>
  84. <title>Standard Verhalten</title>
  85. <para>
  86. Das Standardverhalten dem <classname>Zend_Validate_Ip</classname> folgt, ist es
  87. beide Standards zu erlauben.
  88. </para>
  89. </note>
  90. </sect3>
  91. </sect2>