Autorisations de fichier sur les hôtes partagés
-
08-07-2019 - |
Question
J'ai écrit un script qui prend le résumé d'une commande et le stocke dans un fichier XML, sauf que le problème est que je ne veux évidemment pas que les gens puissent ouvrir le fichier XML dans leur navigateur.
Je suis hébergé sur un serveur partagé très risqué aux capacités limitées: pas de SSH, pour commencer.
Est-il possible de placer ce fichier à un endroit approprié pour que PHP puisse toujours le lire / l'écrire, mais les navigateurs Web ne pourront pas y accéder?
Habituellement, je créais un dossier en dehors de la racine du document et le mettais là, mais je recevais un "Autorisation refusée". message quand j'essaie cela.
Les dossiers qui sont sont:
- anon_ftp
- bin
- cert
- cgi-bin
- conf
- error_docs
- etc
- httpdocs
- httpsdocs
- pd
- privé
- statistiques
- sous-domaines
- web_users
PHP ne peut pas accéder au fichier lorsqu'il se trouve dans le dossier privé
. Serait-ce possible d'utiliser .htaccess?
La solution 2
J'ai corrigé le problème en mettant le fichier XML dans mon dossier httpdocs, mais j'ai ajouté un fichier .htaccess contenant:
<Files ~ "myfile.xml">
Order allow,deny
Deny from all
</Files>
Autres conseils
Vous pouvez créer un répertoire contenant un fichier .htaccess
ressemblant à ceci:
Deny from all
Ceci indiquera à Apache de ne pas servir les fichiers de ce répertoire; toute tentative d’accès au répertoire ou à son contenu sera accompagnée du message "403 Interdit". réponse du serveur.
Remarque: Cela dépend du fait que l'hôte n'a pas supprimé Limit
de la liste des options de sa directive AllowOverride
. la plupart des hôtes partagés ne devraient pas avoir de raison de le faire.
Ne pourriez-vous pas demander au fournisseur d'hébergement partagé de créer un dossier