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?

Était-ce utile?

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 externe au Web pour vous ? J'ai certainement fait cela par le passé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top