3 votes

Allow, Deny ou Require All dans .htaccess pour différentes versions d'Apache

Lorsque nous voulons bloquer les robots, les référents de spam à l'aide du fichier .htaccess, certains sites web utilisent la syntaxe de code suivante :

Order allow,deny
Allow from all
Deny from env=spambot

Mais certains sites web indiquent qu'il faut utiliser des codes différents pour les différentes versions d'Apache :

#For Apache 2.2
<IfModule !mod_authz_core.c>
<IfModule mod_authz_host.c>
    Order allow,deny
    Allow from all
    Deny from env=spambot
</IfModule>
</IfModule>

# For Apache 2.4
<IfModule mod_authz_core.c>
<RequireAll>
    Require all granted
    Require not env spambot
</RequireAll>
</IfModule>

Je voudrais maintenant savoir quel cône est correct ou si les deux sont corrects.

1voto

MrWhite Points 11269

nous devons utiliser des codes différents pour les différentes versions d'Apache

Ceci.

La syntaxe est passée d'Apache 2.2 à 2.4. Cependant, l'ancienne syntaxe (Apache 2.2) a été conservée (en fait, elle a été déplacée dans un module différent : mod_access_compat ) pour compatibilité ascendante uniquement - donc il "fonctionne" toujours. Mais elle est dépréciée et sera probablement supprimée dans les versions futures. Ainsi, le code sous Apache 2.4 devrait utiliser l'option Require ... syntaxe.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X