cvs: phpdoc /fr/chapters security.xml

From: Date: Wed, 25 Jul 2001 19:13:42 +0000
Subject: cvs: phpdoc /fr/chapters security.xml
Groups: php.doc 
Request: Send a blank email to phpdoc+get-969336497@lists.php.net to get a copy of this message
dams Wed Jul 25 15:13:42 2001 EDT Modified files: /phpdoc/fr/chapters security.xml Log: Correcting some typos

Index: phpdoc/fr/chapters/security.xml diff -u phpdoc/fr/chapters/security.xml:1.15 phpdoc/fr/chapters/security.xml:1.16 --- phpdoc/fr/chapters/security.xml:1.15 Thu Mar 22 05:34:35 2001 +++ phpdoc/fr/chapters/security.xml Wed Jul 25 15:13:42 2001 @@ -1,41 +1,41 @@ <chapter id="security"> <title>S&eacute;curit&eacute;</title> <simpara> - PHP est un langage puissant et l'interpr&eacute;teur, qu'il soit inclus dans le - serveur web ou bien compil&eacute; en version CGI, est capable d'acc&eacute;der - aux fichiers, d'ex&eacute;cuter des commandes et d'ouvrir des connexions - r&eacute;seaux. Toutes ces propri&eacute;t&eacute;s rendent fragile la - s&eacute;curit&eacute; d'un serveur web. Le langage PHP a &eacute;t&eacute; - pens&eacute; afin d'&ecirc;tre un langage beaucoup plus s&eacute;curis&eacute; - pour &eacute;crire des <acronym>CGI</acronym> que le Perl ou le langage C. De - plus une s&eacute;lection rigoureuse des options de compilation et - d'ex&eacute;cution vous permettront d'obtenir un &eacute;quilibre - parfait entre libert&eacute; et s&eacute;curit&eacute;. + PHP est un langage puissant et l'interpr&eacute;teur, qu'il soit inclus dans le + serveur web ou bien compil&eacute; en version CGI, est capable d'acc&eacute;der + aux fichiers, d'ex&eacute;cuter des commandes et d'ouvrir des connexions + r&eacute;seaux. Toutes ces propri&eacute;t&eacute;s rendent fragile la + s&eacute;curit&eacute; d'un serveur web. Le langage PHP a &eacute;t&eacute; + pens&eacute; afin d'&ecirc;tre un langage beaucoup plus s&eacute;curis&eacute; + pour &eacute;crire des <acronym>CGI</acronym> que le Perl ou le langage C. De + plus, une s&eacute;lection rigoureuse des options de compilation et + d'ex&eacute;cution vous permettra d'obtenir un &eacute;quilibre + parfait entre libert&eacute; et s&eacute;curit&eacute;. </simpara> <simpara> - Etant donn&eacute; qu'il y a de nombreux moyens d'utiliser le langage PHP, - il y a de nombreuses directives de configuration afin d'en contr&ocirc;ler - le comportement. Un grand nombre d'options permettent d'utiliser le PHP - dans de nombreuses situations, mais cela signifie aussi qu'il y a certaines - combinaisons d'options de compilation et d'ex&eacute;cution qui fragilise - la s&eacute;curit&eacute; du serveur. Ce chapitre explique comme les - diff&eacute;rentes options de configurations peuvent &ecirc;tre - combin&eacute;es, tout en conservant une s&eacute;curit&eacute; maximum. + Etant donn&eacute; qu'il y a de nombreux moyens d'utiliser le langage PHP, + il y a de nombreuses directives de configuration afin d'en contr&ocirc;ler + le comportement. Un grand nombre d'options permettent d'utiliser le PHP + dans de nombreuses situations, mais cela signifie aussi qu'il y a certaines + combinaisons d'options de compilation et d'ex&eacute;cution qui fragilisent + la s&eacute;curit&eacute; du serveur. Ce chapitre explique comme les + diff&eacute;rentes options de configurations peuvent &ecirc;tre + combin&eacute;es, tout en conservant une s&eacute;curit&eacute; maximum. </simpara> <simpara> La flexibilit&eacute; de configuration de PHP est &eacute;paul&eacute;e par la flexibilit&eacute; du code. PHP peut &ecirc;tre compil&eacute; pour constituer une application serveur compl&egrave;te, avec toutes les fonctionnalit&eacute;s d'un shell, ou il peut encore - &ecirc;tre utilis&eacute; comple simple SSI (server side include) + &ecirc;tre utilis&eacute; comme simple SSI (server side include) avec peu de risque, dans un environnement &agrave; s&eacute;curit&eacute; renforc&eacute;e. Comment cr&eacute;er cet environnement et le - s&eacute;curis&eacute; est largement &agrave; la charge du + s&eacute;curiser est largement &agrave; la charge du d&eacute;veloppeur PHP. </simpara> <simpara> Ce chapitre commence par expliquer les diff&eacute;rentes options de configuration - et les situations o&ugrave; elles peuvent &ecirc;tre utilis&eacute;es en + et les situations dans lesquelles elles peuvent &ecirc;tre utilis&eacute;es en toute s&eacute;curit&eacute;. Puis, viennent les consid&eacute;rations de niveaux de s&eacute;curit&eacute;, et les conseils g&eacute;n&eacute;raux. </simpara> @@ -44,20 +44,20 @@ <sect2 id="security.cgi.attacks"> <title>Faiblesses connues</title> <simpara> - Utiliser le PHP comme un <acronym>CGI</acronym> ex&eacute;cutable vient - la plupart du temps du fait que l'on ne veut pas l'utiliser comme un module - du serveur web, (comme Apache), ou bien que l'on souhaite l'utiliser en - combinaison d'un <acronym>CGI</acronym> compl&eacute;mentaire, afin de - cr&eacute;er un environnement de script s&eacute;curis&eacute; (en utilisant - des techniques de chroot ou setuid). Une telle d&eacute;cision signifie - habituellement que vous installez votre ex&eacute;cutable dans le - r&eacute;pertoire cgi-bin de votre serveur web. - <ulink url="&url.cert;">CERT CA-96.11</ulink> recommande effectivement de - placer l'interpr&eacute;teur &agrave; l'int&eacute;rieur du r&eacute;pertoire - cgi-bin. M&ecirc;me si le binaire PHP peut &ecirc;tre utilis&eacute; comme - interpr&eacute;teur ind&eacute;pendant, PHP a &eacute;t&eacute; - pens&eacute; afin de rendre impossible les attaques que ce type - d'installation induit. + Utiliser le PHP comme un <acronym>CGI</acronym> ex&eacute;cutable vient + la majorit&eacute; du temps du fait que l'on ne veut pas l'utiliser comme un module + du serveur web, (comme Apache), ou bien que l'on souhaite l'utiliser en + combinaison d'un <acronym>CGI</acronym> compl&eacute;mentaire, afin de + cr&eacute;er un environnement de script s&eacute;curis&eacute; (en utilisant + des techniques de chroot ou setuid). Une telle d&eacute;cision signifie + habituellement que vous installez votre ex&eacute;cutable dans le + r&eacute;pertoire cgi-bin de votre serveur web. + <ulink url="&url.cert;">CERT CA-96.11</ulink> recommande effectivement de + placer l'interpr&eacute;teur &agrave; l'int&eacute;rieur du r&eacute;pertoire + cgi-bin. M&ecirc;me si le binaire PHP peut &ecirc;tre utilis&eacute; comme + interpr&eacute;teur ind&eacute;pendant, PHP a &eacute;t&eacute; + pens&eacute; afin de rendre impossible les attaques que ce type + d'installation induit. </simpara> <itemizedlist> <listitem> @@ -66,15 +66,15 @@ <filename role="url">http://ma.machine/cgi-bin/php?/etc/passwd</filename> </simpara> <simpara> - Lorsque la requ&ecirc;te est pass&eacute;e dans une url, apr&egrave;s le point - d'interrogation (?), elle est envoy&eacute;e &agrave; l'interpr&eacute;teur - comme une ligne de commande par l'interface CGI. Habituellement, - l'interpr&eacute;teur ouvre le fichier sp&eacute;cifi&eacute; et - l'ex&eacute;cute. + Lorsque la requ&ecirc;te est pass&eacute;e dans une url, apr&egrave;s le point + d'interrogation (?), elle est envoy&eacute;e &agrave; l'interpr&eacute;teur + comme une ligne de commande par l'interface CGI. Habituellement, + l'interpr&eacute;teur ouvre le fichier sp&eacute;cifi&eacute; et + l'ex&eacute;cute. </simpara> <simpara> - Lorsqu'il est invoqu&eacute; comme ex&eacute;cutable CGI, le PHP refuse - d'interpr&eacute;ter les arguments de la ligne de commande. + Lorsqu'il est invoqu&eacute; comme ex&eacute;cutable CGI, le PHP refuse + d'interpr&eacute;ter les arguments de la ligne de commande. </simpara> </listitem> <listitem> @@ -83,26 +83,26 @@ <filename role="url">http://my.host/cgi-bin/php/secret/doc.html</filename> </simpara> <simpara> - Le "path information" dans l'url, situ&eacute; juste apr&egrave;s le nom - du binaire PHP, <filename role="uri">/secret/doc.html</filename> est - utilis&eacute; par convention pour sp&eacute;cifier le nom du fichier - qui doit &ecirc;tre ouvert et interpr&eacute;t&eacute; par le programe - <acronym>CGI</acronym>. Habituellement, des directives de configuration - du serveur web (pour le serveur Apache: Action) sont utilis&eacute;es pour - rediriger les requ&ecirc;tes pour obtenir un document - <filename role="url">http://my.host/secret/script.php</filename> par - l'interpr&eacute;teur PHP. Dans une telle configuration, le serveur web - v&eacute;rifie d'abord si il a acc&egrave;s au r&eacute;pertoire - <filename role="uri">/secret</filename>, et apr&egrave;s cette - v&eacute;rification redirige la requ&ecirc;te vers - <filename role="url">http://my.host/cgi-bin/php/secret/script.php</filename>. - Malheureusement, si la requ&ecirc;te est faite directement sous cette forme, - aucune v&eacute;rification d'acc&egrave;s n'est faite par le serveur web - pour le fichier <filename role="uri">/secret/script.php</filename>, - mais uniquement pour le fichier <filename role="uri">/cgi-bin/php</filename>. - De cette mani&egrave;re, n'importe quel utilisateur qui peut acc&eacute;der - au fichier <filename role="uri">/cgi-bin/php</filename> peut aussi - acc&eacute;der au document prot&eacute;g&eacute;s sur le serveur web. + Le "path information" dans l'url, situ&eacute; juste apr&egrave;s le nom + du binaire PHP, <filename role="uri">/secret/doc.html</filename> est + utilis&eacute; par convention pour sp&eacute;cifier le nom du fichier + qui doit &ecirc;tre ouvert et interpr&eacute;t&eacute; par le programe + <acronym>CGI</acronym>. Habituellement, des directives de configuration + du serveur web (pour le serveur Apache: Action) sont utilis&eacute;es pour + rediriger les requ&ecirc;tes afin d'obtenir un document + <filename role="url">http://my.host/secret/script.php</filename> par + l'interpr&eacute;teur PHP. Dans une telle configuration, le serveur web + v&eacute;rifie d'abord s'il a acc&egrave;s au r&eacute;pertoire + <filename role="uri">/secret</filename>, et apr&egrave;s cette + v&eacute;rification redirige la requ&ecirc;te vers + <filename role="url">http://my.host/cgi-bin/php/secret/script.php</filename>. + Malheureusement, si la requ&ecirc;te est faite directement sous cette forme, + aucune v&eacute;rification d'acc&egrave;s n'est faite par le serveur web + pour le fichier <filename role="uri">/secret/script.php</filename>, + mais uniquement pour le fichier <filename role="uri">/cgi-bin/php</filename>. + De cette mani&egrave;re, n'importe quel utilisateur qui peut acc&eacute;der + au fichier <filename role="uri">/cgi-bin/php</filename> peut aussi + acc&eacute;der aux documents prot&eacute;g&eacute;s sur le serveur web. </simpara> <simpara> Avec le PHP, l'option de compilation @@ -148,7 +148,7 @@ Cette option de compilation pr&eacute;vient quiconque d'appeler directement un script avec l'url <filename role="php">http://my.host/cgi-bin/php/secretdir/script.php</filename>. - Dans ce cas l&agrave;, PHP parsera le fichier uniquement si il y a eu redirection. + Dans ce cas l&agrave;, PHP parsera le fichier uniquement s'il y a eu redirection. </simpara> <simpara> Habituellement, le serveur web Apache r&eacute;alise une redirection @@ -162,11 +162,11 @@ Cette option a uniquement &eacute;t&eacute; test&eacute;e avec Apache et compte sur Apache pour affecter la variable d'environnement non-standart <envar>REDIRECT_STATUS</envar> pour les requ&ecirc;tes redirig&eacute;es. - Dans le cas o&uacute; votre serveur web ne supporte pas le renseignement + Dans le cas o&ugrave; votre serveur web ne supporte pas le renseignement du PHP, pour savoir si la requ&ecirc;te a &eacute;t&eacute; redirig&eacute;e ou non, vous ne pouvez pas utiliser cette option de - compilation. Vous devez alors utiliser une des autres mani&egrave;res - pour utiliser la version binaire CGI du PHP, comme expos&eacute; ci-dessous. + compilation. Vous devez alors utiliser une des autres m&eacute;thodes + d'exploitation de la version binaire CGI du PHP, comme expos&eacute; ci-dessous. </simpara> </sect2> <sect2 id="security.cgi.doc-root"> @@ -178,11 +178,11 @@ ex&eacute;cut&eacute; mais affich&eacute; comme une page HTML classique, il peut en r&eacute;sulter un vol de propri&eacute;t&eacute; intellectuelle ou des probl&egrave;mes de s&eacute;curit&eacute; &agrave; propos des mots - de passe notamment. Donc, la plupart des administrateurs + de passe notamment. Donc, la majorit&eacute; des administrateurs pr&eacute;f&egrave;rent mettre en place un r&eacute;pertoire - sp&eacute;cial pour les scripts qui est uniquement accessible par le biais + sp&eacute;cial pour les scripts qui soit uniquement accessible par le biais du binaire CGI du PHP, et donc, tous les fichiers de ce r&eacute;pertoire - seront interpr&eacute;t&eacute;s et non affich&eacute;s tels quel. + seront interpr&eacute;t&eacute;s et non affich&eacute;s tels quels. </simpara> <simpara> Aussi, si vous ne pouvez pas utiliser la m&eacute;thode @@ -199,14 +199,14 @@ toujours le nom de fichier &agrave; ouvrir avec <parameter>doc_root</parameter> et le "path information" de la requ&ecirc;te, et donc vous serez s&ucirc;r qu'aucun script n'est ex&eacute;cut&eacute; en dehors du r&eacute;pertoire - pr&eacute;d&eacute;finit. (&agrave; l'exception du r&eacute;pertoire + pr&eacute;d&eacute;fini (&agrave; l'exception du r&eacute;pertoire d&eacute;sign&eacute; par la directive <parameter>user_dir</parameter> Voir ci-dessous). </simpara> <simpara> Une autre option possible ici est la directive <link linkend="ini.user-dir">user_dir</link>. Lorsque la directive n'est pas - activ&eacute;e, seulement les fichiers contenues dans le r&eacute;pertoire + activ&eacute;e, seuls les fichiers contenus dans le r&eacute;pertoire <parameter>doc_root</parameter> peuvent &ecirc;tre ouverts. Ouvrir un fichier poss&eacute;dant l'url <filename role="url">http://my.host/~user/doc.php</filename> ne correspond @@ -270,22 +270,22 @@ <simpara> Lorsque le PHP est compil&eacute; en tant que module Apache, ce module h&eacute;rite des permissions accord&eacute;es &agrave; l'utilisateur - faisant tourner Apache ( par d&eacute;faut, l'utilisateur "noboby"). + faisant tourner Apache ( par d&eacute;faut, l'utilisateur "nobody"). Par exemple, si vous utilisez PHP pour acc&eacute;der &agrave; une - base de donn&eacute;es &agrave; moins que la base n'ai un + base de donn&eacute;es, &agrave; moins que la base n'ait un syst&egrave;me de droits d'acc&egrave;s interne, vous devrez rendre la base accessible &agrave; l'utilisateur "nobody". Cela signifie - qu'un script malintentionn&eacute; peut acc&eacute;der &agrave; la base, + qu'un script mal intentionn&eacute; peut acc&eacute;der &agrave; la base, la modifier sans authentification. Il est aussi possible qu'un - robot acc&eacute;de &agrave; la page d'administration, et - d&eacute;truise toutes les pages. Vous devez ainsi prot&eacute;ger + robot acc&egrave;de &agrave; la page d'administration, et + d&eacute;truise toutes les pages. Vous devez aussi prot&eacute;ger vos bases de donn&eacute;es avec les autorisations Apache, ou d&eacute;finir votre propre mod&egrave;le d'acc&egrave;s avec - LDAP, .htaccess, etc... et include ce code dans tous vos scripts + LDAP, .htaccess, etc... et inclure ce code dans tous vos scripts PHP. </simpara> <simpara> - Souvent, lorsqu'on a &eacute;tablit les droits pour que l'utilisateur + Souvent, lorsqu'on a &eacute;tabli les droits de l'utilisateur PHP (ici, l'utilisateur Apache) pour minimiser les risques, on s'aper&ccedil;oit que PHP ne peut plus &eacute;crire des virus dans les fichiers des utilisateurs. Ou encore, de modifier une base @@ -299,27 +299,28 @@ </simpara> <simpara> Donner de telles permissions &agrave; l'utilisateur Apache est extr&ecirc;mement - dangereux, et peut compromettre tout le syst&egrave;me, tell que l'utilisation - des sudo ou du chroot. Une telle utilisation est &agrave; exclure pour les - profesionnels de la s&eacute;curit&eacute;. + dangereux, et peut compromettre tout le syst&egrave;me, telle que l'utilisation + des <literal>sudo</literal> ou du <literal>chroot</literal>. + Pour les professionnels de la s&eacute;curit&eacute;, une telle utilisation + est &agrave; exclure d'office. </simpara> </sect1> <sect1 id="security.filesystem"> <title>S&eacute;curit&eacute; des fichiers</title> <simpara> - PHP est soumis aux r&egrave;gles de s&eacute;curit&eacute; - intrins&egrave;ques de la plus part des syst&egrave;mes serveurs : - il respecte notamment les droits des fichiers, et des dossiers. - Une attention particuli&egrave;re doit &ecirc;tre port&eacute;e aux - fichiers qui sont accessible &agrave; tout le monde, afin de - s'assurer qu'ils ne divulguent pas d'informations critiques. + PHP est soumis aux r&egrave;gles de s&eacute;curit&eacute; + intrins&egrave;ques de la plupart des syst&egrave;mes serveurs : + il respecte notamment les droits des fichiers et des dossiers. + Une attention particuli&egrave;re doit &ecirc;tre port&eacute;e aux + fichiers ou dossiers qui sont accessibles &agrave; tout le monde, afin de + s'assurer qu'ils ne divulguent pas d'informations critiques. </simpara> <simpara> Puisque PHP a &eacute;t&eacute; fait pour permettre aux utilisateurs d'acc&eacute;der aux fichiers, il est possible de cr&eacute;er un script qui vous permet de lire des fichiers tels que /etc/password, de modifier les connexions ethernet, lancer des impressions de documents, - etc... Cela implique notamment que vous devez vous assurer que les fichiers + etc... Cela implique notamment que vous devez-vous assurer que les fichiers acc&eacute;d&eacute;s par les scripts sont bien ceux qu'il faut. </simpara> <simpara> @@ -332,7 +333,7 @@ </simpara> <para> <example> - <title>Une erreur de v&eacute;rification de variable conduit &agrave; ....</title> + <title>Une erreur de v&eacute;rification de variable conduit &agrave; ...</title> <programlisting role="php"> &lt;?php // efface un fichier dans un dossier racine @@ -344,15 +345,15 @@ ?&gt; </programlisting> </example> - Etant donn&eacute; que le nom de l'utilisateur est &agrave; fournir, ils peuvent - envoyer un nom d'utilisateur autre que le leur, et effacer des - documents dans les comptes des autres utilisateurs. - Dans ce cas, vous souhaiterez utiliser une autre forme d'authentification. - Consid&eacute;rez ce qui pourrait se passer si les utilisateurs passer - "../etc/" et "passwd" comme arguments!. Le code serait &eacute;x&eacute;cut&eacute; - tel que : + Etant donn&eacute; que le nom de l'utilisateur est &agrave; fournir, des intrus peuvent + envoyer un nom d'utilisateur autre que le leur, et effacer des + documents dans les comptes des autres utilisateurs. + Dans ce cas, vous souhaiterez utiliser une autre forme d'authentification. + Consid&eacute;rez ce qui pourrait se passer si les utilisateurs passent + "../etc/" et "passwd" comme arguments! Le code serait &eacute;x&eacute;cut&eacute; + tel que : <example> - <title>Une attaque du syst&egrave;me de fichier!</title> + <title>Une attaque du syst&egrave;me de fichiers!</title> <programlisting role="php"> &lt;?php // efface un fichier n'importe o&ugrave; sur le disque dur, @@ -376,7 +377,7 @@ <listitem> <simpara> V&eacute;rifier toutes les variables li&eacute;es aux chemins et aux fichiers - qui sont fournies. + qui sont fournie. </simpara> </listitem> </itemizedlist> @@ -385,7 +386,7 @@ <title>Une v&eacute;rification renforc&eacute;e</title> <programlisting role="php"> &lt;?php -// Efface un fichier sur le disque o&ugrave; l'utilisateur &agrave; le droit +// Efface un fichier sur le disque o&ugrave; l'utilisateur &agrave; le droit d'aller $username = get_env("REMOTE_USER"); // utilise un m&eacute;canisme d'authentification $homedir = "/home/$username"; @@ -400,9 +401,9 @@ ?&gt; </programlisting> </example> - Vous pouvez vous prot&eacute;ger avec une v&eacute;rification telle que : + Vous pouvez-vous prot&eacute;ger avec une v&eacute;rification telle que : <example> - <title>V&eacute;rfication de noms de fichier s&eacute;curis&eacute;e</title> + <title>V&eacute;rification de noms de fichier s&eacute;curis&eacute;e</title> <programlisting role="php"> &lt;?php $username = $HTTP_REMOTE_USER; @@ -426,13 +427,13 @@ <simpara> Une tactique d'attaque standard consiste &agrave; faire faire des erreurs au syst&egrave;me, et lire les variables d'environnement et de contexte qui - sont retourn&eacute;es. Cela permet au hacker de lire de nombreuses - informations sur le serveur, et d&eacute;tecter des faiblesses du serveur. + sont retourn&eacute;es. Cela permet au pirate de lire de nombreuses + informations sur le serveur, et de d&eacute;tecter des faiblesses du serveur. </simpara> <simpara> Les erreurs PHP qui sont normalement retourn&eacute;es peuvent &ecirc;tre tr&egrave;s pratiques pour un d&eacute;veloppeur qui essaie de d&eacute;bugger un - scripts, car elles donnent de pr&eacute;cieux renseignements tels que + script, car elles donnent de pr&eacute;cieux renseignements tels que quelle fonction a &eacute;chou&eacute;, quel fichier n'a pas &eacute;t&eacute; trouv&eacute;, quel script PHP a bugg&eacute;, et quelle ligne est en faute. Toutes ces informations sont exploitables. Il est commun aux d&eacute;veloppeurs PHP @@ -440,7 +441,7 @@ <function>highlight_string</function>, ou <function>highlight_file</function> comme outils de d&eacute;buggage, mais sur un site en production, cela expose des variables cach&eacute;es, des syntaxes non v&eacute;rifi&eacute;es - ou d'autres informations dangeureuses. + ou d'autres informations dangereuses. </simpara> <simpara> Par exemple, le style d'erreur indique sur quel syst&egrave;me PHP fonctionne. @@ -454,9 +455,9 @@ &eacute;t&eacute; g&eacute;n&eacute;r&eacute;e. Cela peut orienter l'intrus vers les ports de cette base de donn&eacute;es ou bien vers une attaque li&eacute;e &agrave; cette application. En envoyant des donn&eacute;es - &eacute;rron&eacute;es, par exemple, un pirate peut d&eacute;terminer l'ordre + erron&eacute;es, par exemple, un pirate peut d&eacute;terminer l'ordre d'authentification dans un script (&agrave; partir des lignes d'erreurs), - et essayer de les exploiter ailleurs, dans le script. + et d'essayer de les exploiter ailleurs, dans le script. </simpara> <simpara> Une erreur de fichier, ou une erreur g&eacute;n&eacute;rale PHP peut indiquer @@ -476,7 +477,7 @@ </simpara> </sect1> <sect1 id="security.variables"> - <title>User Submitted Data</title> + <title>Donn&eacute;es transmises par les internautes</title> <para> Les plus grandes faiblesses de nombreux programmes PHP ne viennent pas du langage lui-m&ecirc;me, mais de son utilisation en omettant les @@ -499,42 +500,42 @@ ?&gt; </programlisting> </example> - Il est vivement recommand&eacute; d'&eacute;xaminer minutieusement votre code + Il est vivement recommand&eacute; d'examiner minutieusement votre code pour vous assurer qu'il n'y a pas de variables envoy&eacute;es par le - client web, et qui ne sont pas suffisament v&eacute;rifi&eacute;e avant utilisation. + client web, et qui ne sont pas suffisamment v&eacute;rifi&eacute;es avant utilisation. <itemizedlist> <listitem> <simpara> - Est ce que ce script n'affectera que les fichiers pr&eacute;vus? + Est-ce que ce script n'affectera que les fichiers pr&eacute;vus? </simpara> </listitem> <listitem> <simpara> - Est il possible que des valeurs incoh&eacute;rentes soient exploit&eacute;es ici? + Est-il possible que des valeurs incoh&eacute;rentes soient exploit&eacute;es ici? </simpara> </listitem> <listitem> <simpara> - Est ce que ce script peut &ecirc;tre utilis&eacute; dans un but diff&eacute;rents? + Est-ce que ce script peut &ecirc;tre utilis&eacute; dans un but diff&eacute;rent? </simpara> </listitem> <listitem> <simpara> - Est ce que ce script peut &ecirc;tre utilis&eacute; malicieusement, + Est-ce que ce script peut &ecirc;tre utilis&eacute; malicieusement, en conjonction avec d'autres? </simpara> </listitem> <listitem> <simpara> - Est ce que toutes les actions seront not&eacute;es? + Est-ce que toutes les actions seront not&eacute;es? </simpara> </listitem> </itemizedlist> En r&eacute;pondant de mani&egrave;re ad&eacute;quate &agrave; ces questions lors de l'&eacute;criture de vos scripts (plut&ocirc;t qu'apr&egrave;s), vous &eacute;viterez une r&eacute;&eacute;criture inopportune pour raison de - s&eacute;curit&eacute;. En commencant vos projets avec ces recommandations - en t&ecirc;tes, vous garantirez pas la s&eacute;curit&eacute; de votre + s&eacute;curit&eacute;. En commen&ccedil;ant vos projets avec ces recommandations + en t&ecirc;te, vous ne garantirez pas la s&eacute;curit&eacute; de votre syst&egrave;me, mais vous contribuerez &agrave; l'am&eacute;liorer. </para> <para> @@ -558,7 +559,7 @@ n&eacute;cessitaient deux formes d'identification biom&eacute;triques (comme par exemple un scanner de la r&eacute;tine, et une empreinte digitale), vous pourriez avoir un niveau de - s&eacute;curit&eacute; &eacute;lev&eacute;. Cela prendrai aussi + s&eacute;curit&eacute; &eacute;lev&eacute;. Cela prendrait aussi une demi-heure pour remplir les conditions de s&eacute;curit&eacute;, ce qui pousserait les utilisateurs &agrave; &eacute;viter d'utiliser votre syst&egrave;me. @@ -573,10 +574,10 @@ <simpara> Une phrase qui vaut la peine d'&ecirc;tre retenue : un syst&egrave;me est aussi fiable que son maillon le plus faible. Si toutes les - transactions sont exhaustivement not&eacute; (heure, lieu, type, etc...) + transactions sont exhaustivement not&eacute;es (heure, lieu, type, etc...) mais que l'utilisateur n'est authentifi&eacute; que par un cookie, la validit&eacute; de votre syst&egrave;me de surveillance est intimement - li&eacute; &agrave; la validit&eacute; du cookie (et donc, + li&eacute;e &agrave; la validit&eacute; du cookie (et donc, s&eacute;v&egrave;rement r&eacute;duite). </simpara> <simpara> @@ -584,20 +585,20 @@ tester toutes les configurations, mais probablement les plus simples. Les donn&eacute;es en entr&eacute;es auxquelles vous pouvez vous attendre ne seront rien compar&eacute;es aux donn&eacute;es - incoh&eacute;rentes qu'un employ&eacute; n&eacute;gligent, un - hacker disposant d'autant de temps qu'il veut, ou du chat de la + incoh&eacute;rentes d'un employ&eacute; n&eacute;gligent, un + pirate disposant d'autant de temps qu'il veut, ou du chat de la maison marchant sur le clavier. Il est donc bon de regarder le - code logiquement, de voir d'o&ugrave; des donn&eacute;es incoh&eacute;rentes + code logiquement, de chercher o&ugrave; des donn&eacute;es incoh&eacute;rentes peuvent &ecirc;tre introduites, modifi&eacute;es, r&eacute;duites ou amplifi&eacute;es. </simpara> <simpara> L'Internet est rempli de personnes qui tentent de se faire une renomm&eacute;e - en piratant vos programmes, bloquant votre site, envoyant des contenus + en piratant vos programmes, en bloquant votre site, en envoyant des contenus inappropri&eacute;s, qui rendent vos journ&eacute;es si &quot;sp&eacute;ciales&quot;. Peut importe que vous ayez un grand portail ou un petit web, vous pouvez &ecirc;tre la cible pour tout quidam avec une connexion. Vous &ecirc;tes une - cible potentielle d&egrave;s que vous &ecirc;tes connect&eacute; vous m&ecirc;me. + cible potentielle d&egrave;s que vous &ecirc;tes connect&eacute; vous-m&ecirc;me. Certains programmes de piratage ne font pas dans la demi-mesure, et testent syst&eacute;matiquement des millions d'IP, &agrave; la recherche de victimes : ne soyez pas la prochaine. @@ -606,10 +607,10 @@ <sect1 id="security.current"> <title>Etre &agrave; jour</title> <simpara> - PHP, comme de nombreux syst&egrave;mes de grandes tailles, est constamment + PHP, comme de nombreux syst&egrave;mes de grande taille, est constamment test&eacute; et am&eacute;lior&eacute;. Chaque nouvelle version rassemble des modifications majeures et mineures, aussi bien pour renforcer la - s&eacute;curit&eacute;, r&eacute;parer les probl&egrave;mes de conceptions + s&eacute;curit&eacute;, que pour r&eacute;parer les probl&egrave;mes de conceptions de configuration, et d'autres points qui peuvent affecter la s&eacute;curit&eacute; globale et la stabilit&eacute; de votre syst&egrave;me. </simpara>
« previous php.doc (#969336497) next »