Zend_Validate-Ip.xml 2.9 KB

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