web-dev-qa-db-fra.com

Interdire l'accès direct aux fichiers INI et XML)

Certains propriétaires de sites ne veulent pas que les gens, surtout leurs concurrents, sachent quelles fonctionnalités ils ont sur leurs sites.

Certaines informations sensibles contenues dans les fichiers de langue ou de configuration sont accessibles directement à partir du navigateur, par exemple.

administrator/components/com_bank/language/en-GB/en-GB.com_bank.ini
administrator/components/com_bank/config.xml
components/com_bank/models/forms/transaction.xml

Bien que seuls les techniciens connaissent Joomla, ils peuvent comprendre ces liens, y accéder et découvrir (ou deviner) les fonctionnalités du site. Cependant, les propriétaires du site souhaitent que tout soit secret.

Existe-t-il donc une solution côté serveur ou une extension Joomla pour interdire l'accès direct à ces fichiers INI et XML)?

10
Hung Tran

Mettez cette directive dans votre .htaccess fichier:

<FilesMatch ".(ini|xml)$">
  order allow,deny
  deny from all
</FilesMatch>
13
Dmitry Rekun

Vous pouvez étendre le fichier .htaccess de Joomla avec un RewriteRule pour leurs types de fichiers.

Un simple pourrait être

RewriteRule \.xml$ index.php [L]
RewriteRule \.ini$ index.php [L]

ces règles vérifient si la fin de la requête est ".xml" ou ".ini" et la récrit sur index.php. le [L] signifie la dernière règle.

Vous devriez mettre ceci dans la section

## Begin - Custom redirects
6
Harald Leithner

Une extension Joomla serait une mauvaise approche car Joomla n'est pas impliqué lorsque vous accédez directement aux fichiers sur le serveur.

Vous pouvez réaliser ce que vous voulez facilement avec .htaccess ou dans la configuration de votre serveur. Quelque chose comme ça devrait faire l'affaire:

<Files  ~ "\.xml$">
  Order allow,deny
  Deny from all
</Files>

Tiré de http://www.ducea.com/2006/07/21/Apache-tips-tricks-deny-access-to-certain-file-types/

3
Bakual