From: Daniel Gruno Date: Sat, 5 May 2012 06:01:29 +0000 (+0000) Subject: xforms X-Git-Tag: 2.5.0-alpha~6898 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b5d8f91dd029495dae947b13312a117eab2ab824;p=thirdparty%2Fapache%2Fhttpd.git xforms git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1334322 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/docs/manual/expr.xml.fr b/docs/manual/expr.xml.fr index 2c2085a8ac1..d658e668c33 100644 --- a/docs/manual/expr.xml.fr +++ b/docs/manual/expr.xml.fr @@ -1,7 +1,7 @@ - + diff --git a/docs/manual/misc/perf-tuning.html.fr b/docs/manual/misc/perf-tuning.html.fr index 88972baa9ae..15b09eb9a33 100644 --- a/docs/manual/misc/perf-tuning.html.fr +++ b/docs/manual/misc/perf-tuning.html.fr @@ -153,14 +153,13 @@ Voici un exemple qui désactive les recherches DNS sauf pour les fichiers .html et .cgi :

-

- HostnameLookups off
- <Files ~ "\.(html|cgi)$">
- - HostnameLookups on
-
- </Files> -

+
+HostnameLookups off
+<Files ~ "\.(html|cgi)$">
+  HostnameLookups on
+</Files>
+      
+

Mais même dans ce cas, si vous n'avez besoin de noms DNS que dans certains CGIs, vous pouvez effectuer l'appel à gethostbyname @@ -179,14 +178,13 @@ symboliques. Un appel supplémentaire par élément du chemin du fichier. Par exemple, si vous avez :

-

- DocumentRoot /www/htdocs
- <Directory />
- - Options SymLinksIfOwnerMatch
-
- </Directory> -

+
+DocumentRoot /www/htdocs
+<Directory />
+  Options SymLinksIfOwnerMatch
+</Directory>
+      
+

et si une requête demande l'URI /index.html, Apache effectuera un appel à lstat(2) pour @@ -197,20 +195,17 @@ vérifier la sécurité des liens symboliques, vous pouvez utiliser une configuration du style :

-

- DocumentRoot /www/htdocs
- <Directory />
- - Options FollowSymLinks
-
- </Directory>
-
- <Directory /www/htdocs>
- - Options -FollowSymLinks +SymLinksIfOwnerMatch
-
- </Directory> -

+
+DocumentRoot /www/htdocs
+<Directory />
+  Options FollowSymLinks
+</Directory>
+
+<Directory /www/htdocs>
+  Options -FollowSymLinks +SymLinksIfOwnerMatch
+</Directory>
+      
+

Ceci évite au moins les vérifications supplémentaires pour le chemin défini par DocumentRoot. Notez que @@ -235,14 +230,13 @@ pour chaque élément du chemin du fichier demandé. Par exemple, si vous avez :

-

- DocumentRoot /www/htdocs
- <Directory />
- - AllowOverride all
-
- </Directory> -

+
+DocumentRoot /www/htdocs
+<Directory />
+  AllowOverride all
+</Directory>
+      
+

et qu'une requête demande l'URI /index.html, Apache tentera d'ouvrir /.htaccess, /www/.htaccess, @@ -264,15 +258,17 @@ Il y a cependant un cas dans lequel vous pouvez accélérer le serveur. Au lieu d'utiliser une directive générique comme :

-

+

         DirectoryIndex index
-      

+ +

utilisez une liste explicite d'options :

-

+

         DirectoryIndex index.cgi index.pl index.shtml index.html
-      

+ +

où vous placez le choix courant en première position.

@@ -617,39 +613,30 @@ (ces exemples ne sont pas extraits du code d'Apache, ils ne sont proposés qu'à des fins pédagogiques) :

-

- for (;;) {
- - for (;;) {
- - fd_set accept_fds;
-
- FD_ZERO (&accept_fds);
- for (i = first_socket; i <= last_socket; ++i) {
- - FD_SET (i, &accept_fds);
-
- }
- rc = select (last_socket+1, &accept_fds, NULL, NULL, NULL);
- if (rc < 1) continue;
- new_connection = -1;
- for (i = first_socket; i <= last_socket; ++i) {
- - if (FD_ISSET (i, &accept_fds)) {
- - new_connection = accept (i, NULL, NULL);
- if (new_connection != -1) break;
-
- }
-
- }
- if (new_connection != -1) break;
-
- }
- process the new_connection;
-
- } -

+
+for (;;) {
+  for (;;) {
+    fd_set accept_fds;
+    
+    FD_ZERO (&accept_fds);
+    for (i = first_socket; i <= last_socket; ++i) {
+      FD_SET (i, &accept_fds);
+    }
+    rc = select (last_socket+1, &accept_fds, NULL, NULL, NULL);
+    if (rc < 1) continue;
+    new_connection = -1;
+    for (i = first_socket; i <= last_socket; ++i) {
+      if (FD_ISSET (i, &accept_fds)) {
+        new_connection = accept (i, NULL, NULL);
+        if (new_connection != -1) break;
+      }
+    }
+    if (new_connection != -1) break;
+  }
+  process the new_connection;
+}
+      
+

Mais cette implémentation rudimentaire présente une sérieuse lacune. Rappelez-vous que les processus enfants exécutent cette boucle au même @@ -688,41 +675,32 @@ entrées dans la boucle interne. La boucle ressemble à ceci (les différences sont mises en surbrillance) :

-

- for (;;) {
- - accept_mutex_on ();
- for (;;) {
- - fd_set accept_fds;
-
- FD_ZERO (&accept_fds);
- for (i = first_socket; i <= last_socket; ++i) {
- - FD_SET (i, &accept_fds);
-
- }
- rc = select (last_socket+1, &accept_fds, NULL, NULL, NULL);
- if (rc < 1) continue;
- new_connection = -1;
- for (i = first_socket; i <= last_socket; ++i) {
- - if (FD_ISSET (i, &accept_fds)) {
- - new_connection = accept (i, NULL, NULL);
- if (new_connection != -1) break;
-
- }
-
- }
- if (new_connection != -1) break;
-
- }
- accept_mutex_off ();
- process the new_connection;
-
- } -

+
+for (;;) {
+  accept_mutex_on ();
+  for (;;) {
+    fd_set accept_fds;
+
+    FD_ZERO (&accept_fds);
+    for (i = first_socket; i <= last_socket; ++i) {
+      FD_SET (i, &accept_fds);
+    }
+    rc = select (last_socket+1, &accept_fds, NULL, NULL, NULL);
+    if (rc < 1) continue;
+    new_connection = -1;
+    for (i = first_socket; i <= last_socket; ++i) {
+      if (FD_ISSET (i, &accept_fds)) {
+        new_connection = accept (i, NULL, NULL);
+        if (new_connection != -1) break;
+      }
+    }
+    if (new_connection != -1) break;
+  }
+  accept_mutex_off ();
+  process the new_connection;
+}
+      
+

Les fonctions accept_mutex_on et accept_mutex_off @@ -834,39 +812,32 @@ http_main.c). La fonction ressemble approximativement à ceci :

-

- void lingering_close (int s)
- {
- - char junk_buffer[2048];
-
- /* shutdown the sending side */
- shutdown (s, 1);
-
- signal (SIGALRM, lingering_death);
- alarm (30);
-
- for (;;) {
- - select (s for reading, 2 second timeout);
- if (error) break;
- if (s is ready for reading) {
- - if (read (s, junk_buffer, sizeof (junk_buffer)) <= 0) {
- - break;
-
- }
- /* just toss away whatever is here */
-
- }
-
- }
-
- close (s);
-
- } -

+
+void lingering_close (int s)
+{
+  char junk_buffer[2048];
+
+  /* shutdown the sending side */
+  shutdown (s, 1);
+
+  signal (SIGALRM, lingering_death);
+  alarm (30);
+
+  for (;;) {
+    select (s for reading, 2 second timeout);
+    if (error) break;
+    if (s is ready for reading) {
+      if (read (s, junk_buffer, sizeof (junk_buffer)) <= 0) {
+        break;
+      }
+      /* just toss away whatever is here */
+    }
+  }
+ 
+  close (s);
+}
+      
+

Ceci ajoute naturellement un peu de charge à la fin d'une connexion, mais s'avère nécessaire pour une implémentation fiable. Comme HTTP/1.1 diff --git a/docs/manual/misc/security_tips.html.fr b/docs/manual/misc/security_tips.html.fr index eb563503cb7..e4ee43bea04 100644 --- a/docs/manual/misc/security_tips.html.fr +++ b/docs/manual/misc/security_tips.html.fr @@ -345,11 +345,12 @@

Ajoutez dans le fichier de configuration du serveur

-

- <Directory />
- AllowOverride None
- </Directory> -

+
+<Directory /> 
+  AllowOverride None 
+</Directory>
+    
+

Ceci interdit l'utilisation des fichiers .htaccess dans tous les répertoires, sauf ceux pour lesquels c'est explicitement @@ -378,28 +379,30 @@ fichiers. Pour l'éviter, ajoutez le bloc suivant à la configuration de votre serveur :

-

- <Directory />
- Order Deny,Allow
- Deny from all
- </Directory> -

+
+<Directory />
+Order Deny,Allow 
+Deny from all 
+</Directory>
+    
+

ceci va interdire l'accès par défaut à tous les fichiers du système de fichiers. Vous devrez ensuite ajouter les blocs Directory appropriés correspondant aux répertoires auxquels vous voulez autorisez l'accès. Par exemple,

-

- <Directory /usr/users/*/public_html>
- Order Deny,Allow
- Allow from all
- </Directory>
- <Directory /usr/local/httpd>
- Order Deny,Allow
- Allow from all
- </Directory> -

+
+<Directory /usr/users/*/public_html>
+  Order Deny,Allow 
+  Allow from all 
+</Directory> 
+<Directory /usr/local/httpd> 
+  Order Deny,Allow 
+  Allow from all 
+</Directory>
+    
+

Portez une attention particulière aux interactions entre les directives Location et @@ -414,9 +417,10 @@ fortement d'inclure la ligne suivante dans le fichier de configuration de votre serveur :

-

+

       UserDir disabled root
-    

+ +
top
@@ -462,12 +466,13 @@ qui signifie que vous avez probablement mis en commentaire ce qui suit dans le fichier de configuration de votre serveur :

-

- <Files ".ht*">
- Order allow,deny
- Deny from all
- </Files> -

+
+<Files ".ht*">
+  Order allow,deny 
+  Deny from all
+</Files>
+    
+
top
diff --git a/docs/manual/mod/mod_remoteip.html.fr b/docs/manual/mod/mod_remoteip.html.fr index 8297ff09013..c6dfe44cbff 100644 --- a/docs/manual/mod/mod_remoteip.html.fr +++ b/docs/manual/mod/mod_remoteip.html.fr @@ -27,8 +27,6 @@

Langues Disponibles:  en  |  fr 

-
Cette traduction peut être périmée. Vérifiez la version - anglaise pour les changements récents.
Description:Remplace l'adresse IP et le nom d'hôte apparents du client pour la requête par l'adresse IP présentée par un mandataire ou un répartiteur de charge via les en-têtes de la requête. diff --git a/docs/manual/mod/mod_remoteip.xml.meta b/docs/manual/mod/mod_remoteip.xml.meta index 771852e80cd..1a7c78a9f14 100644 --- a/docs/manual/mod/mod_remoteip.xml.meta +++ b/docs/manual/mod/mod_remoteip.xml.meta @@ -8,6 +8,6 @@ en - fr + fr diff --git a/docs/manual/rewrite/flags.html.fr b/docs/manual/rewrite/flags.html.fr index eb4281c4a05..eba3d0a02bf 100644 --- a/docs/manual/rewrite/flags.html.fr +++ b/docs/manual/rewrite/flags.html.fr @@ -54,7 +54,7 @@ des explications d
  • S|skip
  • T|type
  • Voir aussi

    +correspondance
  • Contrôle d'accès
  • Serveurs virtuels
  • Mise en cache
  • Utilisation de RewriteMap
  • Techniques avancées
  • Quand ne pas utiliser mod_rewrite
  • top

    Introduction

    @@ -97,9 +97,10 @@ ces derni non-alphanumériques des références arrières seront échappés. Considérons par exemple cette règle :

    -

    +

     RewriteRule ^search/(.*)$ /search.php?term=$1
    -

    + +

    Soit le terme de recherche 'x & y/z' ; un navigateur va le coder en 'x%20%26%20y%2Fz', transformant la requête en @@ -192,10 +193,11 @@ fonctionnalit

    Voici un exemple :

    -

    +

     RewriteEngine On
    RewriteRule ^/index\.html - [CO=frontdoor:yes:.example.org:1440:/] -

    + +

    Dans l'exemple ci-dessus, la règle ne réécrit pas la requête. La cible de réécriture "-" @@ -282,10 +284,11 @@ avec une valeur de '1' si l'URI de la requ image. Cette variable d'environnement est ensuite utilisée pour exclure une telle requête du journal des accès.

    -

    -RewriteRule \.(png|gif|jpg) - [E=image:1]
    +

    +RewriteRule \.(png|gif|jpg) - [E=image:1]
     CustomLog logs/access_log combined env=!image
    -

    + +

    Notez que le même effet peut être obtenu à l'aide de la directive SetEnvIf. Cette technique @@ -312,9 +315,10 @@ Forbidden.

    La règle suivante va interdire la téléchargement de fichiers .exe depuis votre serveur.

    -

    +

     RewriteRule \.exe - [F]
    -

    + +

    Cet exemple utilise la syntaxe "-" pour la cible de réécriture, ce qui signifie que l'URI de la requête n'est pas modifié. Il n'y a aucune @@ -334,9 +338,10 @@ disponible auparavant ne l'est plus actuellement.

    Comme dans le cas du drapeau [F], on utilise en général la syntaxe "-" pour la cible de réécriture lorsqu'on utilise le drapeau [G] :

    -

    +

     RewriteRule ancienne-ressource - [G,NC]
    -

    + +

    Lorsqu'on utilise [G], [L] est implicite - c'est à dire que la réponse est renvoyée immédiatement, et aucune autre règle n'est évaluée.

    @@ -349,9 +354,10 @@ sp l'interprétation de tous les fichiers sans extension par le gestionnaire php :

    -

    +

     RewriteRule !\. - [H=application/x-httpd-php]
    -

    + +

    L'expression rationnelle ci-dessus - !\. - correspond à @@ -364,9 +370,10 @@ faire en sorte que les fichiers .php soient affichés par mod_php dans le cas où ils font l'objet d'une requête avec l'extension .phps :

    -

    +

     RewriteRule ^(/source/.+\.php)s$ $1 [H=application/x-httpd-php-source]
    -

    + +

    L'expression rationnelle ci-dessus - @@ -419,11 +426,12 @@ de requ directive RewriteCond permet de s'assurer que si la requête concerne déjà index.php, la directive RewriteRule sera sautée.

    -

    -RewriteBase /
    -RewriteCond %{REQUEST_URI} !=/index.php
    +

    +RewriteBase /
    +RewriteCond %{REQUEST_URI} !=/index.php
     RewriteRule ^(.*) /index.php?req=$1 [L,PT]
    -

    + +
    top

    N|next

    @@ -440,9 +448,10 @@ suivant, chaque occurence de A sera remplac ceci jusqu'il n'y ait plus de A à remplacer.

    -

    +

     RewriteRule (.*)A(.*) $1B$2 [N]
    -

    + +

    Vous pouvez vous représenter ce traitement comme une boucle while : tant que le modèle de la règle correspond (c'est à @@ -463,9 +472,10 @@ transmise par Apache insensible à la casse, si bien que par exemple, .jpg aussi bien que .JPG seront acceptés.

    -

    +

     RewriteRule (.*\.(jpg|gif|png))$ http://images.example.com$1 [P,NC]
    -

    + +
    top

    NE|noescape

    @@ -474,9 +484,10 @@ RewriteRule (.*\.(jpg|gif|png))$ http://images.example.com$1 [P,NC] hexadécimal. Le drapeau [NE] permet d'éviter cette conversion.

    -

    +

     RewriteRule ^/ancre/(.+) /grosse-page.html#$1 [NE,R]
    -

    + +

    Dans l'exemple ci-dessus, /anchor/xyz est réécrit en @@ -521,9 +532,10 @@ mandataire. Par exemple, si vous voulez que toutes les requ soient traitées par un serveur d'images annexe, vous pouvez utiliser une règle de ce style :

    -

    +

     RewriteRule /(.*)\.(jpg|gif|png) http://images.example.com/$1.$2 [P]
    -

    + +

    L'utilisation du drapeau [P] provoque aussi l'effet du drapeau [L] - autrement dit, la requête est immédiatement envoyée au mandataire, et @@ -572,10 +584,11 @@ Si par exemple, vous avez un Alias sera bien évalué.

    -

    +

     Alias /icons /usr/local/apache/icons
    RewriteRule /pics/(.+)\.jpg /icons/$1.gif [PT] -

    + +

    Dans l'exemple précédent, en l'absence du drapeau [PT], l'Alias aurait @@ -605,9 +618,10 @@ Avec le drapeau [QSA], les cha

    Considérons la règle suivante :

    -

    +

     RewriteRule /pages/(.+) /page.php?page=$1 [QSA]
    -

    + +

    Avec le drapeau [QSA], une requête pour /pages/123?one=two sera réécrite en @@ -687,16 +701,17 @@ Ceci peut s'interpr l'exemple suivant, nous ne voulons exécuter la règle RewriteRule que si l'URI demandé ne correspond pas à un fichier existant.

    -

    -# La requête concerne-t-elle un fichier qui n'existe pas ?
    -RewriteCond %{REQUEST_FILENAME} !-f
    -RewriteCond %{REQUEST_FILENAME} !-d
    -# Si c'est la cas, on saute les deux règles de réécriture suivantes
    -RewriteRule .? - [S=2]
    -
    -RewriteRule (.*\.gif) images.php?$1
    +

    +# La requête concerne-t-elle un fichier qui n'existe pas ?
    +RewriteCond %{REQUEST_FILENAME} !-f
    +RewriteCond %{REQUEST_FILENAME} !-d
    +# Si c'est la cas, on saute les deux règles de réécriture suivantes
    +RewriteRule .? - [S=2]
    +
    +RewriteRule (.*\.gif) images.php?$1
     RewriteRule (.*\.html) docs.php?$1
    -

    + +

    Cette technique trouve son utilité dans le fait qu'une directive RewriteCond ne s'applique @@ -707,27 +722,24 @@ conditions et ajouter une RewriteRule avec le drapeau [Skip]. Cette d'élaborer des pseudo-constructions if-then-else : la dernière règle du bloc then contiendra skip=N, où N est le nombre de règles contenues dans le bloc else :

    -

    -# Est-ce que le fichier existe ?
    -RewriteCond %{REQUEST_FILENAME} !-f
    -RewriteCond %{REQUEST_FILENAME} !-d
    +

    +# Est-ce que le fichier existe ?
    +RewriteCond %{REQUEST_FILENAME} !-f
    +RewriteCond %{REQUEST_FILENAME} !-d
     
     # Create an if-then-else construct by skipping 3 lines if we meant to go to the "else" stanza.
    -RewriteRule .? - [S=3]
    -
    +RewriteRule .? - [S=3] + # Si le fichier existe, alors : - - RewriteRule (.*\.gif) images.php?$1
    - RewriteRule (.*\.html) docs.php?$1
    - # Skip past the "else" stanza.
    - RewriteRule .? - [S=1]
    -
    + RewriteRule (.*\.gif) images.php?$1 + RewriteRule (.*\.html) docs.php?$1 + # Skip past the "else" stanza. + RewriteRule .? - [S=1] # ELSE... - - RewriteRule (.*) 404.php?file=$1
    -
    + RewriteRule (.*) 404.php?file=$1 # END -

    + +

    Il est probablement plus aisé de définir ce genre de configuration via les directives <If>, <ElseIf>, et <Else>.

    @@ -742,19 +754,21 @@ identique du code source Perl en tant que plein texte, s'il est requis d'une certaine manière :

    -

    -# Sert les fichier .pl en tant que plein texte
    +

    +# Sert les fichier .pl en tant que plein texte
     RewriteRule \.pl$ - [T=text/plain]
    -

    + +

    Ou encore, si vous possédez une caméra qui produit des fichiers images jpeg sans extension, vous pouvez forcer le renvoi de ces images avec le type MIME correct en se basant sur le nom du fichier :

    -

    +

     # Les fichiers dont le nom contient 'IMG' sont des images jpg.
    RewriteRule IMG - [T=image/jpg] -

    + +

    Notez cependant qu'il s'agit d'un exemple trivial, et que le problème aurait pu être résolu en utilisant à la place la directive <FilesMatch>. Il faut toujours @@ -775,18 +789,7 @@ utiliser le drapeau L pour terminer la s

    Langues Disponibles:  en  |  fr 

    -
    top

    Commentaires