Solución:
La forma más segura es colocar los archivos que desea guardar fuera del directorio raíz de la web, como sugirió Damien. Esto funciona porque el servidor web sigue los privilegios del sistema de archivos local, no sus propios privilegios.
Sin embargo, hay muchas empresas de alojamiento que solo le dan acceso a la raíz web. Para evitar las solicitudes HTTP a los archivos, colóquelos en un directorio por sí mismos con un archivo .htaccess que bloquea todas las comunicaciones. Por ejemplo,
Order deny,allow
Deny from all
Su servidor web, y por lo tanto el idioma del lado del servidor, aún podrá leerlos porque los permisos locales del directorio permiten que el servidor web lea y ejecute los archivos.
Así es como evité el acceso directo desde la URL a mis archivos ini. Pegue el siguiente código en .htaccess
archivo en la raíz. (no es necesario crear una carpeta adicional)
<Files ~ ".ini$">
Order allow,deny
Deny from all
</Files>
mi settings.ini
El archivo está en la raíz y sin este código es accesible www.mydomain.com/settings.ini
en httpd.conf para bloquear el acceso al navegador y wget para incluir archivos, especialmente db.inc o config.inc. Tenga en cuenta que no puede encadenar tipos de archivos en la directiva en lugar de crear varias directivas de archivos.
<Files ~ ".inc$">
Order allow,deny
Deny from all
</Files>
para probar su configuración antes de reiniciar apache
service httpd configtest
luego (reinicio elegante)
service httpd graceful