J'ai une application PHP et je prévois de conserver les paramètres critiques dans un fichier .ini. Cependant, je pense que ce fichier peut être consulté sur le web, alors où est un "lieu standard" pour qu'il soit placé?Emplacement de .ini pour les applications Web
Répondre
Vous pouvez le stocker au-dessus du document/de la racine Web ou en bloquer spécifiquement l'accès. Par exemple, une structure commune pour les applications PHP est:
application/
public/
Où public
est la racine web - donc je stocke habituellement la configuration d'application dans application/config
où je sais qu'il ne peut y accéder.
Une alternative serait de bloquer à l'aide d'Apache:
<!-- Block access to all .ini files -->
<Files ~ "\.ini">
Order deny,allow
Deny from all
</Files>
La "place standard" n'est pas affectée par la racine du répertoire de l'apache. Par exemple, vous pouvez le placer sous /home/someuser/
, ou ailleurs.
Placez le fichier .ini en dehors de la racine Web ou protégez-le avec .htaccess si vous voulez vraiment le conserver sous la racine Web.
J'utiliserais une base de données pour être honnête. Toutefois, si vous voulez vraiment utiliser un fichier plat (par exemple, .ini), vous pouvez le placer dans un répertoire et utiliser .htaccess pour empêcher les utilisateurs d'y accéder via leur navigateur. De cette façon, vous pouvez toujours accéder au fichier via les fonctions du fichier php.
Pour ce faire, créez un fichier appelé .htaccess dans le dossier que vous voulez protéger (par exemple ini /)
Puis, dans ce put fichier:
deny from all
Le dossier est maintenant pas accessible en allant à l'url dans le navigateur.
Il est accessible si vous placez votre fichier INI dans votre site web/docroot. S'assurer que le fichier n'est pas accessible via le docroot est la première étape.
Placez la configuration dans un répertoire qui n'est pas lisible par le serveur Web, mais est lisible pour l'application. Généralement, vous disposez d'un répertoire spécifique lisible par le serveur Web, tel que "web", "www", "public" ou "public_html". Assurez-vous de le mettre dans le répertoire ci-dessous celui-là.
De cette façon, votre application peut lire le fichier:
$cfg = parse_ini_file(
realpath(dirname(__FILE__) . '/../') . '/config.php'
);
Votre serveur web ne sait pas comment l'atteindre, donc il est sûr.
Un bon exemple est Zend FW ou tout autre framework php. répertoire structue est:
application/config/config.ini
library/Zend/
public/index.php
où public est accesible de web
- 1. Interface de configuration Web pour les applications de console
- 2. Scala pour les applications web
- 3. GUI Web pour l'édition des fichiers INI
- 4. Stratégie de stockage de documents pour les applications Web Java
- 5. Algorithme de cryptage pour les applications Web
- 6. emplacement fictif pour tester des applications geofence
- 7. Utilisation de Google Web Toolkit pour les applications de bureau comme les applications Web?
- 8. Service central de consignation des erreurs pour les applications Web
- 9. Node.js pour les applications non-web?
- 10. solr sécurité pour les applications web
- 11. API Google Voice pour les applications web?
- 12. GUI builder pour les applications web
- 13. Système d'authentification pour les applications Web ASP.NET?
- 14. Applications Web pour les appareils mobiles?
- 15. Outils pour les applications web java?
- 16. filtre tomcat pour toutes les applications web
- 17. Utilisation d'Eclipse pour les applications Web
- 18. Identification vocale pour les applications Web
- 19. Webdriver pour les applications web ipad?
- 20. Filtre global pour toutes les applications Web
- 21. Détruire les applications Web
- 22. ini-config pour Zend_Cache_Frontend_Page
- 23. Schéma de base de données pour les grandes applications Web
- 24. Communiquer entre les applications C++ et les applications Web
- 25. Bat Pour ini convertisseur
- 26. Livre pour l'écriture web-applications/web-serivces
- 27. Emplacement des bols pour les Web Apps utilisant WebLogic
- 28. DLL fonctionne pour les applications Web, mais pas les applications de la fenêtre stand
- 29. architecture pour les applications mobiles et les applications Web de support
- 30. Profileurs pour applications Web ASP.Net?
Vous ne pouvez pas stocker le nom d'utilisateur de base de données/mot de passe/hôte dans la base de données que vous aussi. Un fichier de configuration est toujours utile pour tout ce qui n'est pas trivial avec un codage en dur réservé uniquement pour les choses jetables. –