Sí, esto es fácil de hacer.
Hay dos formas principales de evitar que los usuarios accedan a example.txt
. La primera es ponerlo en una carpeta fuera de tu carpeta web (generalmente llamada www
o public_html
), la segunda es poner un .htaccess
archivo en la carpeta con su script example.txt que bloquea el acceso al archivo por completo. El .htaccess
se vería como
<files "example.txt">
deny from all
</files>
Pero podrías cambiar example.txt
a algo como *.txt
si quisieras bloquear todos los .txt
archivos en la carpeta.
Entonces puedes usar file_get_contents()
en tu readfile.php
para obtener el contenido del archivo de texto, o si solo desea generar el archivo, puede usar readfile
Simplemente almacene los archivos que no desea que estén accesibles públicamente fuera de webroot .
/home
example.txt
/www
readfile.php
Si /home/www/
es su carpeta raíz web pública, no se puede acceder a ningún archivo por encima a través del servidor web. readfile.php
todavía puede acceder al archivo perfectamente bien en ../example.txt
aunque.
Si necesita almacenar los archivos en la raíz web, coloque los archivos en una carpeta y deniegue el acceso a esa carpeta. Si está utilizando apache, cree un archivo .htaccess en la carpeta y escriba deny from all