Refuser tout access à un fichier mais une ip | htaccess

J’ai essayé ce qui suit mais DOESNT fonctionne (aucun corps ne peut accéder au fichier, y compris l’adresse IP à laquelle je veux accéder)

 Order allow,deny Deny from all allow from zzz.zzz.zzz.zzz  

Je veux refuser l’access à un fichier à tout le monde sauf une adresse IP, comment puis-je le faire? Merci

J’ai trouvé ma réponse dans un ancien message, une des réponses ici: .htaccess: comment restreindre l’access à un seul fichier par IP? , le correct est:

   Order deny, allow Deny from all allow from zzz.zzz.zzz.zzz  

de l’original j’ai changé “Ordre permettre, nier” à “Ordre nier, autoriser” et ça marche!

La raison pour laquelle cela n’a pas fonctionné est que votre directive Deny remplacé votre directive Allow . Ce que l’ Order Allow,Deny est:

  1. Évaluer Allow , drapeau “autoriser” s’il y en a.
  2. Évaluer Deny , signaler “refuser” s’il y en a (même si précédemment associé à Allow )
  3. Evaluer le drapeau Si le drapeau n’est pas défini, refusez-le.

Donc, il est nécessaire que vous supprimiez Deny from All si vous ne voulez pas que toutes les demandes soient refusées. Juste une note pour la réponse de MickeyRoush.

En ce qui concerne Order Deny,Allow , c’est le “contraire”:

  1. Évaluez Deny , signaler “refuser” s’il y en a.
  2. Évaluez Allow , le drapeau “autoriser” s’il y en a un correspondant (même s’il a déjà été associé à Deny )
  3. Evaluer le drapeau Si l’indicateur n’est pas défini, autorisez-le.

Voir le lien que MickeyRoush a donné pour plus d’informations.

En fait, la première directive que vous avez utilisée fonctionnerait, mais elle devrait être au bon endroit.

 Order Allow,Deny  Allow from zzz.zzz.zzz.zzz  

Notez que j’ai retiré le refus de tous car il n’est pas nécessaire.

http://httpd.apache.org/docs/2.2/mod/mod_authz_host.html#order