Zend_Validate-Ip.xml 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 21740 -->
  3. <!-- Reviewed: no -->
  4. <sect2 id="zend.validate.set.ip">
  5. <title>Ip</title>
  6. <para>
  7. <classname>Zend_Validate_Ip</classname> permet de déterminer si une adresse IP donnée
  8. est valide. Le composant supporte IPv4 et IPv6.
  9. </para>
  10. <sect3 id="zend.validate.set.ip.options">
  11. <title>Options supportées par Zend_Validate_Ip</title>
  12. <para>
  13. Les options suivantes sont supportées par
  14. <classname>Zend_Validate_Ip</classname>&#160;:
  15. </para>
  16. <itemizedlist>
  17. <listitem>
  18. <para>
  19. <emphasis><property>allowipv4</property></emphasis>&#160;: définit si la
  20. validation autorise les adresses IPv4. Cette option vaut
  21. <constant>TRUE</constant> par défaut.
  22. </para>
  23. </listitem>
  24. <listitem>
  25. <para>
  26. <emphasis><property>allowipv6</property></emphasis>&#160;: définit si la
  27. validation autorise les adresses IPv6. Cette option vaut
  28. <constant>TRUE</constant> par défaut.
  29. </para>
  30. </listitem>
  31. </itemizedlist>
  32. </sect3>
  33. <sect3 id="zend.validate.set.ip.basic">
  34. <title>Utilisation classique</title>
  35. <para>
  36. Voici un exemple banal:
  37. </para>
  38. <programlisting language="php"><![CDATA[
  39. $validator = new Zend_Validate_Ip();
  40. if ($validator->isValid($ip)) {
  41. // ip semble valide
  42. } else {
  43. // ip n'est pas valide
  44. }
  45. ]]></programlisting>
  46. <note>
  47. <title>adresses IP invalides</title>
  48. <para>
  49. <classname>Zend_Validate_Ip</classname> ne valide que des adresses IP.
  50. 'mydomain.com' ou '192.168.50.1/index.html' ne sont donc pas des adresses IP valides.
  51. Ce sont des noms de domaines ou des <acronym>URL</acronym>s mais pas des adresses IP.
  52. </para>
  53. </note>
  54. <note>
  55. <title>Validation IPv6</title>
  56. <para>
  57. <classname>Zend_Validate_Ip</classname> valides les adresses IPv6 au moyen d'expressions
  58. régulières. La raison est que les fonctions fournies par PHP ne suivent pas le RFC.
  59. Beaucoup d'autres classes disponibles font de même.
  60. </para>
  61. </note>
  62. </sect3>
  63. <sect3 id="zend.validate.set.ip.singletype">
  64. <title>Valider IPv4 ou IPV6 seules</title>
  65. <para>
  66. Il peut arriver de ne vouloir valider qu'un seul des deux formats. Par exemple si le réseau
  67. ne supporte pas IPv6, il serait idiot de demander une telle validation.
  68. </para>
  69. <para>
  70. Pour limiter <classname>Zend_Validate_Ip</classname> sur un seul des deux protocoles, utilisez
  71. les options <property>allowipv4</property> ou <property>allowipv6</property> et mettez les à
  72. <constant>FALSE</constant>. Il est possible d'effectuer celà au moyen du constructeur ou
  73. avec la méthode <methodname>setOptions()</methodname>.
  74. </para>
  75. <programlisting language="php"><![CDATA[
  76. $validator = new Zend_Validate_Ip(array('allowipv6' => false);
  77. if ($validator->isValid($ip)) {
  78. // ip semble être une IPv4 valide
  79. } else {
  80. // ip n'est pas une adresse IPv4
  81. }
  82. ]]></programlisting>
  83. <note>
  84. <title>Comportement par défaut</title>
  85. <para>
  86. Le comportement par défaut de <classname>Zend_Validate_Ip</classname> est de valider
  87. les deux standards.
  88. </para>
  89. </note>
  90. </sect3>
  91. </sect2>
  92. <!--
  93. vim:se ts=4 sw=4 et:
  94. -->