com doc/fr: Apply commit f029b664b8728bd5cbb697cb9a4409aea07cb36c: faq/using.xml reference/info/functions/get-magic-quotes-gpc.xml security/magicquotes.xml

[email protected] (George Peter Banyard) Sat, 16 Jan 2021 12:06:24 +0000
Newsgroups php.doc.fr
Message-ID <[email protected]>
Commit:    5031789d6d5142f81002ff2de3dc5292254d0318
Author:    George Peter Banyard <[email protected]>         Sat, 16 Jan 2021 12:06:24 +0000
Parents:   666a77d26d0cc0a724c340f6373cdead17a99893
Branches:  master

Link:       http://git.php.net/?p=doc/fr.git;a=commitdiff;h=5031789d6d5142f81002ff2de3dc5292254d0318

Log:
Apply commit f029b664b8728bd5cbb697cb9a4409aea07cb36c

Remove magic quote mentions

Changed paths:
  M  faq/using.xml
  M  reference/info/functions/get-magic-quotes-gpc.xml
  D  security/magicquotes.xml
diff_5031789d6d5142f81002ff2de3dc5292254d0318.txt (text/plain, 13.7 KB)
diff --git a/faq/using.xml b/faq/using.xml
index 5710decb60..f20b353475 100755
--- a/faq/using.xml
+++ b/faq/using.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 86e6094e86b84a51d00ab217ac50ce8dde33d82a Maintainer: yannick Status: ready -->
+<!-- EN-Revision: f029b664b8728bd5cbb697cb9a4409aea07cb36c Maintainer: yannick Status: ready -->
 <!-- Reviewed: yes -->
 
 <chapter xml:id="faq.using" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
@@ -86,6 +86,7 @@ echo '</pre>';
    </qandaentry>
 
    <qandaentry xml:id="faq.using.addslashes">
+    <!-- TODO Probably should mention not doing this... -->
     <question>
      <para>
       Il faut que je convertisse tous les guillemets simples (')
@@ -105,31 +106,6 @@ echo '</pre>';
       <function>addslashes</function> et <function>stripslashes</function>,
       qui sont plus communes avec l'ancien code PHP.
      </para>
-
-     &note.magicquotes.gpc;
-
-    </answer>
-   </qandaentry>
-   
-   <qandaentry xml:id="faq.using.stripslashes">
-    <question>
-     <para>
-      Tous mes " se transforment en \" et mes ' en \', comment me débarrasser
-      de tous ces antislashs ? Comment et pourquoi sont-ils apparus ?
-     </para>
-    </question>
-    <answer>
-     <para>
-      Les anti-slashes existent très probablement parce que la directive PHP
-      <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link> est activée.
-      C'est une ancienne fonctionnalité de PHP et elle doit être désactivée et
-      plus jamais être utilisée. De même, la fonction PHP
-      <function>stripslashes</function> peut être utilisée pour supprimer
-      les slashes d'une &string;.
-     </para>
-
-     &note.magicquotes.gpc;
-
     </answer>
    </qandaentry>
 
diff --git a/reference/info/functions/get-magic-quotes-gpc.xml b/reference/info/functions/get-magic-quotes-gpc.xml
index 994d9ea1ef..246ad9d77a 100644
--- a/reference/info/functions/get-magic-quotes-gpc.xml
+++ b/reference/info/functions/get-magic-quotes-gpc.xml
@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 3e15d2894fb35432d2a111db36fe8ba8ebc62024 Maintainer: yannick Status: ready -->
+<!-- EN-Revision: f029b664b8728bd5cbb697cb9a4409aea07cb36c Maintainer: yannick Status: ready -->
 <!-- Reviewed: no -->
-
 <refentry xml:id="function.get-magic-quotes-gpc" xmlns="http://docbook.org/ns/docbook">
  <refnamediv>
   <refname>get_magic_quotes_gpc</refname>
@@ -20,25 +19,14 @@
    <void/>
   </methodsynopsis>
   <para>
-   Retourne la configuration actuelle de l'option
-   <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link> 
-  </para>
-  <para>
-   Gardez en tête que vous ne pouvez pas définir
-   <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link>
-   au moment de l'exécution.
-  </para>
-  <para>
-   Pour plus d'informations sur magic_quotes, voir la section sur les
-   <link linkend="security.magicquotes">guillemets magiques</link>.
+   Retourne toujours &false;.
   </para>
  </refsect1>
 
  <refsect1 role="returnvalues">
   &reftitle.returnvalues;
   <para>
-   Retourne &zero; si magic_quotes_gpc est désactivée, 1 sinon.
-   Retourne &false; depuis PHP 5.4.0.
+   Retourne toujours &false;.
   </para>
  </refsect1>
 
@@ -66,38 +54,6 @@
   </para>
  </refsect1>
 
- <refsect1 role="examples">
-  &reftitle.examples;
-  <para>
-   <example>
-    <title>Exemple avec <function>get_magic_quotes_gpc</function></title>
-    <programlisting role="php">
-<![CDATA[
-<?php
-// Si les guillemets magiques sont actifs
-echo $_POST['lastname'];             // O\'reilly
-echo addslashes($_POST['lastname']); // O\\\'reilly
-
-// Utilisation pour toutes les versions de PHP
-if (get_magic_quotes_gpc()) {
-    $lastname = stripslashes($_POST['lastname']);
-}
-else {
-    $lastname = $_POST['lastname'];
-}
-
-// Si vous utilisez MySQL
-$lastname = mysql_real_escape_string($lastname);
-
-echo $lastname; // O\'reilly
-$sql = "INSERT INTO lastnames (lastname) VALUES ('$lastname')";
-?>
-]]>
-    </programlisting>
-   </example>
-  </para>
- </refsect1>
-
  <refsect1 role="seealso">
   &reftitle.seealso;
   <para>
diff --git a/security/magicquotes.xml b/security/magicquotes.xml
deleted file mode 100644
index 6bdee53cb9..0000000000
--- a/security/magicquotes.xml
+++ /dev/null
@@ -1,255 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- $Revision$ -->
-<!-- EN-Revision: 5b53e0d1772a256cbfa55f6abba783d32f6a9deb Maintainer: yannick Status: ready -->
-<!-- Reviewed: yes -->
-
-  <chapter xml:id="security.magicquotes" xmlns="http://docbook.org/ns/docbook">
-   <title>Guillemets magiques</title>
-   &warn.deprecated.feature-5-3-0.removed-5-4-0;
-   <para>
-    Les guillemets magiques (littéralement, les <literal>Magic Quotes</literal>)
-    est un processus qui protège automagiquement les données introduites dans
-    un script <acronym>PHP</acronym>. Il est recommandé de développer les applications sans
-    l'aide des guillemets magiques, et de protéger manuellement les données.
-   </para>
-
-   <sect1 xml:id="security.magicquotes.what">
-    <title>Qu'est-ce que les guillemets magiques?</title>
-    &warn.deprecated.feature-5-3-0.removed-5-4-0;
-    <para>
-     Lorsque cette directive est active, les guillemets simples
-     <literal>'</literal>, les guillemets doubles <literal>"</literal>,
-     les antislashs <literal>\</literal> et les caractères nul
-     <literal>NULL</literal> sont protégés automatiquement avec un antislash.
-     C'est le même résultat que celui de la fonction
-     <function>addslashes</function>.
-    </para>
-    <para>
-     Il y a trois directives de guillemets magiques différentes :
-    </para>
-    <itemizedlist>
-     <listitem>
-      <simpara>
-       <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link>
-      </simpara>
-      <simpara>
-       Affecte les données issues des requêtes <acronym>HTTP</acronym> (GET, POST, et COOKIE). Ne
-       peut pas être configurée durant l'exécution, et vaut par défaut
-       <emphasis>on</emphasis> en <acronym>PHP</acronym>.
-      </simpara>
-      <simpara>
-       Voir aussi <function>get_magic_quotes_gpc</function>.
-      </simpara>
-     </listitem>
-     <listitem>
-      <simpara>
-       <link linkend="ini.magic-quotes-runtime">magic_quotes_runtime</link>
-      </simpara>
-      <simpara>
-       Si activée, la plupart des fonctions qui retournent des données
-       externes, y compris issues d'une base de données ou d'un fichier
-       texte, verront les données protégées par des antislashs. Cette
-       directive peut être modifiée durant l'exécution, et vaut par
-       défaut <emphasis>off</emphasis> en <acronym>PHP</acronym>.
-      </simpara>
-      <simpara>
-       Voir aussi <function>set_magic_quotes_runtime</function> et
-       <function>get_magic_quotes_runtime</function>.
-      </simpara>
-     </listitem>
-     <listitem>
-      <simpara>
-       magic_quotes_sybase <!-- to be removed later -->
-      </simpara>
-      <simpara>
-       Si cette configuration est active, les guillemets simples sont
-       protégés avec un autre guillemets simples, et non pas un antislash.
-       Lorsqu'elle est active, cette directive remplace entièrement
-       <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link>.
-       Si vous activez ces deux directives, alors seuls les guillemets
-       simples seront protégés, avec <literal>''</literal>. Les guillemets
-       doubles, les antislashs et les caractères nul seront laissés intacts.
-      </simpara>
-      <simpara>
-       Voir aussi <function>ini_get</function> pour lire la valeur de la
-       directive.
-      </simpara>
-     </listitem>
-    </itemizedlist>
-   </sect1>
-
-   <sect1 xml:id="security.magicquotes.why">
-    <title>Pourquoi utiliser les guillemets magiques?</title>
-    &warn.deprecated.feature-5-3-0.removed-5-4-0;
-    <itemizedlist>
-     <listitem>
-      <simpara>
-       Il n'y a aucune raison d'utiliser les guillemets magiques,
-       car ils ne sont plus supportés en <acronym>PHP</acronym>. Cependant, ils ont
-       existé, et ont aidé quelques débutants, en le permettant de
-       produire, sans le savoir et involontairement, du code plus
-       sécuritaire. Lorsque vous tombez sur des scripts qui s'appuient
-       sur ce type de comportements, il est recommandé de modifier
-       ce code et de désactiver les guillemets magiques.
-      </simpara>
-      <simpara>
-       Pour quelles raisons cette fonctionnalité est apparue? Simplement
-       pour se protéger des 
-       <link linkend="security.database.sql-injection">injections SQL</link>.
-       Aujourd'hui, les développeurs sont plus conscients des problèmes
-       de sécurité, et adoptent les mécanismes de protections de leur
-       base de données, ou les commandes préparées, au lieu de passer
-       par les guillemets magiques.
-      </simpara>
-     </listitem>
-    </itemizedlist>
-   </sect1>
-
-   <sect1 xml:id="security.magicquotes.whynot">
-    <title>Pourquoi ne pas utiliser les guillemets magiques?</title>
-    &warn.deprecated.feature-5-3-0.removed-5-4-0;
-    <itemizedlist>
-     <listitem>
-      <simpara>
-       Portabilité
-      </simpara>
-      <simpara>
-       Cette directive peut être activée ou désactivée suivant
-       les serveurs et cela affecte grandement la portabilité. Utilisez
-       <function>get_magic_quotes_gpc</function> pour vérifier s'ils sont
-       actifs ou pas, et adaptez votre application.
-      </simpara>
-     </listitem>
-     <listitem>
-      <simpara>
-       Performances
-      </simpara>
-      <simpara>
-       Comme ce n'est pas toutes les données qui sont finalement placées
-       dans une base, il y a un coût en vitesse pour protéger toutes ces
-       données. Le simple appel des fonctions de protections en fonction
-       des besoins est plus efficace (<function>addslashes</function>).
-      </simpara>
-      <simpara>
-       Même si <filename>php.ini-development</filename> active ces options par défaut,
-       <filename>php.ini-recommended</filename> les désactive.
-       Cette recommandation est surtout faite pour des raisons de vitesse.
-      </simpara>
-     </listitem>
-     <listitem>
-      <simpara>
-       Peu pratique
-      </simpara>
-      <simpara>
-       Comme toutes les données n'ont pas forcément besoin de protection,
-       il est souvent désagréable de voir des données protégées là où ça ne
-       sert à rien. Par exemple, lorsque vous envoyez par mail un formulaire,
-       et que vous voyez des antislashs parsemer le message. Pour corriger
-       cela, il faut faire un usage fréquent de
-       <function>stripslashes</function>.
-      </simpara>
-     </listitem>
-    </itemizedlist>
-   </sect1>
-
-   <sect1 xml:id="security.magicquotes.disabling">
-    <title>Désactiver les guillemets magiques</title>
-    <para>
-     La directive <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link>
-     ne peut être désactivée qu'au niveau du système, et non pas à l'exécution.
-     En d'autres termes, utiliser <function>ini_set</function> n'est pas
-     possible.
-    </para>
-    <para>
-     <example>
-      <title>Désactiver les guillemets magiques du coté du serveur</title>
-      <para>
-       Voici un exemple qui donne la valeur de Off à ces directives dans
-       le fichier &php.ini;.  Pour plus de détails, voyez la section
-       <link linkend="configuration.changes">Comment changer la
-       configuration</link>.
-      </para>
-      <screen>
-<![CDATA[
-; Magic quotes
-;
-
-; Magic quotes for incoming GET/POST/Cookie data.
-magic_quotes_gpc = Off
-
-; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
-magic_quotes_runtime = Off
-
-; Use Sybase-style magic quotes (escape ' with '' instead of \').
-magic_quotes_sybase = Off
-]]>
-      </screen>
-      <para>
-       Si vous n'avez pas accès au serveur, utilisez le fichier
-       <filename>.htaccess</filename>. Par exemple :
-      </para>
-      <screen>
-<![CDATA[
-php_flag magic_quotes_gpc Off
-]]>
-      </screen>
-     </example>
-    </para>
-    <para>
-     Afin d'écrire du code portable sur tous les environnements, et où vous ne
-     pourrez pas forcément modifier la configuration du serveur, voici un
-     exemple de désactivation de
-     <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link> à l'exécution.
-     Cette méthode est inefficace, et il est recommandé d'utiliser les
-     autres solutions si possible.
-    </para>
-    <para>
-     <example>
-      <title>Désactivation des guillemets magiques à l'exécution</title>
-      <programlisting role="php">
-<![CDATA[
-<?php
-if (get_magic_quotes_gpc()) {
-    $process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
-    while (list($key, $val) = each($process)) {
-        foreach ($val as $k => $v) {
-            unset($process[$key][$k]);
-            if (is_array($v)) {
-                $process[$key][stripslashes($k)] = $v;
-                $process[] = &$process[$key][stripslashes($k)];
-            } else {
-                $process[$key][stripslashes($k)] = stripslashes($v);
-            }
-        }
-    }
-    unset($process);
-}
-?>
-]]>
-      </programlisting>
-     </example>
-    </para>
-   </sect1>
-
-  </chapter>
-
-<!-- Keep this comment at the end of the file
-Local variables:
-mode: sgml
-sgml-omittag:t
-sgml-shorttag:t
-sgml-minimize-attributes:nil
-sgml-always-quote-attributes:t
-sgml-indent-step:1
-sgml-indent-data:t
-indent-tabs-mode:nil
-sgml-parent-document:nil
-sgml-default-dtd-file:"~/.phpdoc/manual.ced"
-sgml-exposed-tags:nil
-sgml-local-catalogs:nil
-sgml-local-ecat-files:nil
-End:
-vim600: syn=xml fen fdm=syntax fdl=2 si
-vim: et tw=78 syn=sgml
-vi: ts=1 sw=1
--->