J'ai besoin de faire une opération un peu étrange.
Tout d'abord, je tourne sur Debian, apache2 (qui 'tourne' en tant qu'utilisateur www-data)
Donc, j'ai un simple fichier texte avec .txt ou .ini, ou n'importe quelle extension, n'a pas d'importance.
Ces fichiers sont situés dans des sous-dossiers avec une structure comme celle-ci:
www.example.com/folder1/car/foobar.txt www.example.com/folder1/cycle/foobar.txt www.example.com/folder1/fish/foobar.txt www.example.com/folder1/fruit/foobar .SMS
par conséquent, le nom du fichier est toujours le même, idem pour la 'hiérarchie', il suffit de changer le nom du dossier: /folder-name-static/folder-name-dinamyc/file-name-static.txt
Ce que je devrais faire est (je pense) relativement simple: je dois être capable de lire ce fichier par des programmes sur le serveur (python, php par exemple), mais si j'essaie de récupérer le contenu du fichier par broswer (en digérant l'url www. example.com/folder1/car/foobar.txt, ou via cUrl, etc.) Je dois obtenir une erreur interdite, ou autre chose, mais pas accéder au fichier .
Il serait également agréable que même l'accès à ces fichiers via FTP soit «caché», ou de toute façon ne puisse pas être téléchargé (au moins que j'utilise avec la racine ftp et les données utilisateur)
Comment puis-je faire?
Je l'ai trouvé en ligne, mettez-le dans le fichier .htaccess:
<Files File.txt>
Order allow, deny
Deny from all
</ Files>
Il semble fonctionner, mais uniquement si le fichier se trouve à la racine Web (www.example.com / monfichier.txt), et non dans des sous-dossiers. De plus, les dossiers du deuxième niveau (www.example.com/folder1/ fruit /foobar.txt) seront créés de manière dinamyque. Je voudrais éviter d'avoir à changer de temps en temps le fichier .htaccess.
Il est possible de créer une règle, quelque chose comme ça, qui va pour tous les fichiers avec un nom donné, qui est sur * www.example.com / nom-dossier-statique / * nom-dossier-dinamyc / *** nom-fichier -static.txt *, où ces parties sont toujours les mêmes , juste ** que l'on change ?
MODIFIER :
Comme l'a dit Dave Drager, je pourrais illustrer cela en gardant ces fichiers en dehors du répertoire accessible sur le Web. Mais ces répertoires contiendront également d'autres fichiers, des images et des trucs utilisés par mes utilisateurs, donc j'essaie simplement de ne pas avoir de système de dossiers en double, comme:
/var/www/vhosts/example.com/httpdocs/folder1/car/[other folders and files here]
/var/www/vhosts/example.com/httpdocs/folder1/cycle/[other folders and files here]
/var/www/vhosts/example.com/httpdocs/folder1/fish/[other folders and files here]
//and, then for the 'secrets' files:
/folder1/data/car/foobar.txt
/folder1/data/cycle/foobar.txt
/folder1/data/fish/foobar.txt