Zend_Validate-Ip.xml 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  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> 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. '<filename>mydomain.com</filename>' ou
  51. '<filename>192.168.50.1/index.html</filename>' ne sont donc pas des adresses IP
  52. valides. Ce sont des noms de domaines ou des <acronym>URL</acronym>s mais pas des
  53. adresses IP.
  54. </para>
  55. </note>
  56. <note>
  57. <title>Validation IPv6</title>
  58. <para>
  59. <classname>Zend_Validate_Ip</classname> valides les adresses IPv6 au moyen
  60. d'expressions régulières. La raison est que les fonctions fournies par PHP ne
  61. suivent pas la <acronym>RFC</acronym>. Beaucoup d'autres classes disponibles
  62. font de même.
  63. </para>
  64. </note>
  65. </sect3>
  66. <sect3 id="zend.validate.set.ip.singletype">
  67. <title>Valider IPv4 ou IPV6 seules</title>
  68. <para>
  69. Il peut arriver de ne vouloir valider qu'un seul des deux formats. Par exemple si le
  70. réseau ne supporte pas IPv6, il serait idiot de demander une telle validation.
  71. </para>
  72. <para>
  73. Pour limiter <classname>Zend_Validate_Ip</classname> sur un seul des deux protocoles,
  74. utilisez les options <property>allowipv4</property> ou <property>allowipv6</property>
  75. et mettez les à <constant>FALSE</constant>. Il est possible d'effectuer celà au moyen
  76. du constructeur ou avec la méthode <methodname>setOptions()</methodname>.
  77. </para>
  78. <programlisting language="php"><![CDATA[
  79. $validator = new Zend_Validate_Ip(array('allowipv6' => false);
  80. if ($validator->isValid($ip)) {
  81. // ip semble être une IPv4 valide
  82. } else {
  83. // ip n'est pas une adresse IPv4
  84. }
  85. ]]></programlisting>
  86. <note>
  87. <title>Comportement par défaut</title>
  88. <para>
  89. Le comportement par défaut de <classname>Zend_Validate_Ip</classname> est de valider
  90. les deux standards.
  91. </para>
  92. </note>
  93. </sect3>
  94. </sect2>