Rechercher : dans
Par :

[htaccess]protéger un dossier SAUF un fichier

Dernière réponse le 25 oct 2008 à 23:34:11 mti131, le 15 oct 2006 à 15:51:01 
 Signaler ce message aux modérateurs

Bonjour à tous,

j'ai un .htaccess qui se présente sous cette forme dans le repertoire "protected" :

AuthUserFile /chemin du htpasswd
AuthName "L'accès à ce dossier est réservé à l'admin du site..."
AuthType Basic

require user admin


J'aurais voulu rendre le fichier abc.php situé dans ce repertoire "protected" accessible au public.

J'ai essayé de mettre
<FilesMatch "[^(abc.php)]">
AuthUserFile /path
AuthName "L'accès à ce dossier est réservé à l'admin du site..."
AuthType Basic

require user admin
</FilesMatch>
Mais erreur 500 :(

Savez-vous s'il est possible de le faire d'une autre façon ou si j'ai juste mal fait mon expression régulière ?

Merci d'avance,

mti131
Configuration: apache 1.3.37 Unix

Meilleures réponses pour « [htaccess]protéger un dossier SAUF un fichier » dans :
Protéger fichier/dossier par mot de passe VoirReprise d'une contribution de Pgriffet (à enrichir) Sous Win9x/ME Sous XP/2K sans le NTFS Sous XP/2K en NTFS Sous 2K (NTFS ou non) Sous XP/2K (NTFS ou non) XP Home (édition familiale) Vista Sous Win9x/ME Stocker les fichiers...
[Windows] Impossible de supprimer un fichier ou un dossier VoirSi Windows n'arrive pas à supprimer un fichier ou un dossier, la cause peut être l'une des suivantes : Le fichier ou le dossier à supprimer est utilisé par un processus du système Le dossier à supprimer contient des fichiers ou dossiers cachés ...
[Windows] Obtenir la liste des fichiers d'un dossier VoirLister le contenu d'un dossier Voici une astuce simple qui permet de lister le nom des fichiers contenus dans un répertoire. Vous pourrez obtenir en un clic les titres de vos chansons, de vos photos, etc. dans un fichier...
Windows 7 - Dossiers et fichiers VoirExplorez votre PC : dossiers et fichiers Tous les fichiers nécessaires au fonctionnement de votre ordinateur, qu’il s’agisse de ceux de Windows, des logiciels installés ou des périphériques que vous utilisez, ainsi que vos fichiers personnels, sont...
Partage de fichiers sous Windows XP VoirIntérêt Le partage de fichiers consiste à rendre disponible à travers le réseau le contenu d'un ou plusieurs répertoires. Tous les systèmes Windows possèdent en standard des mécanismes permettant de mettre facilement en partage le...
Qu'est-ce qu'un fichier? VoirQu'est-ce qu'un fichier? Un fichier est une suite d'informations binaires, c'est-à-dire une suite de 0 et de 1. Ce fichier peut être stocké pour garder une trace de ces informations. Un fichier texte est un fichier composé de caractères stockés...

1

mti131, le 24 jun 2007 à 23:02:33

J'ai toujours ce problème depuis le temps...
Je ne peux pas croire que ce dont j'ai besoin est impàossible ? Apache est trop flexible pour ne pas offrir cela !

Merci d'avance de vos réponses, je suis dans la mouise... :(

Répondre à mti131

2

PaC_1250, le 16 jui 2007 à 19:45:20

J'essaye de faire ça aussi je n'y arrive pas :(

Répondre à PaC_1250

3

PaC_1250, le 16 jui 2007 à 20:25:51

Je viens de trouver:

<FilesMatch "[^(rss.php)]">
AuthUserFile /home/path/lechien/.htpasswd
AuthGroupFile /dev/null
AuthName "Prive"
AuthType Basic
<Limit GET POST>
require valid-user
</Limit>
</FilesMatch>


c'est pourtant la même chose que ce que tu as fait...

et je suis aussi sur Apache 1.3.37 (linux)
voici les détails de ma config :
http://start.ovh.net/infos/

Répondre à PaC_1250

4

mti131, le 17 jui 2007 à 21:16:34

Je n'ai plus d'erreur 500, mais ce code est malheureusement totalement inefficace.
Je ne peux pas accéder au répertoire entier.

La seule différence... euh, tu as linux et moi unix. Sinon, peut-être que 1&1 ne connaît pas "<FilesMatch>"...

@+

mti131

Répondre à mti131

5

samile, le 24 oct 2008 à 21:18:41

<Directory "/cheminDuRepertoireAProteger">
<FilesMatch fichierAutoriser.php*>
Order allow,deny
Allow from all
</FilesMatch>
Order deny,allow
Deny from all
</Directory>


moi j'ai mis sa dans mon httpd.conf... Je pense que si tu le mets dans un .htaccess cela fonctionnera si le dossier a un AllowOverride All sur lui dans httpd.conf

je pense que tu as corriger le probleme depuis le temps ;-)

Répondre à samile

6

 mti131, le 25 oct 2008 à 23:34:11
  • +1

Bonjour,
merci d'avoir répondu au sujet même s'il date d'un certain temps déjà...

En fait, j'avais fait la réflexion en un bloc au lieu d'en séparer les constituants.
J'avais voulu mettre une interdiction pour "les fichiers qui ne sont pas abc.php". Il fallait plutôt commencer par interdire tous les fichiers dans le dossier, puis ouvrir une balise pour abc.php qui en autorise l'accès.

Ceci fonctionne:

AuthUserFile /path
AuthName "acces restreint"
AuthType Basic

require user admin

<FilesMatch "^(abc.php|public.htm)$">
Allow From All
Satisfy Any
</Files>
Concernant la balise directory, j'avais déjà essayé, mais cela génère une erreur 500: elle ne peut être utilisée dans un htaccess:
Note that unlike <Directory> and <Location> sections, <Files> sections can be used inside .htaccess files.
(doc apache)

Or je suis en mutualisé, donc pas d'accès au httpd.conf.

Le problème n'est cependant toujours pas résolu car cette solution génère un autre problème: l'autorisation pour le fichier abc.php est héritée dans les sous-dossiers.
Vous allez me dire, il suffit de le nommer de façon unique. Mais lorsque le fichier à autoriser est l'index, cela pose problème ! Je m'explique:

/ accessible à tous
/admin/index.php accessible à tous (page indiquant qu'il faut s'identifier et donnant un lien vers admin.php)
/admin/admin.php accès restreint
/admin/abc.php accès restreint
/admin/module/abc.php accès restreint
/admin/module/index.php accesible à tous !!!

Pour pallier à cela, j'ai donc dû remettre une identification obligatoire dans chaque sous-dossier. Mais c'est pas top.
Si vous avez mieux, je suis toujours preneur.

@+

mti131.

Répondre à mti131
Collection CommentÇaMarche.net