Pregunta

He escrito un script que toma el resumen de un pedido y lo almacena en un archivo XML, excepto que el problema es que no quiero que las personas puedan abrir el archivo XML en su navegador, obviamente.

Estoy alojado en un servidor compartido muy poco fiable con capacidades limitadas: sin SSH, para empezar.

¿Hay algún lugar donde pueda colocar este archivo para que PHP aún pueda leerlo / escribirlo, pero los navegadores web no podrán acceder a él?

Normalmente, crearía una carpeta fuera de la raíz del documento y la pondría allí, pero obtengo un " Permiso denegado " mensaje cuando intento eso.

Las carpetas que son existen:

  • anon_ftp
  • bin
  • cert
  • cgi-bin
  • conf
  • error_docs
  • etc.
  • httpdocs
  • httpsdocs
  • pd
  • privado
  • estadísticas
  • subdominios
  • web_users

PHP no puede acceder al archivo cuando está en la carpeta private . ¿Sería esto posible usando .htaccess?

¿Fue útil?

Solución 2

Lo solucioné colocando el archivo XML en mi carpeta httpdocs, pero agregué un archivo .htaccess con esto:

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

Otros consejos

Puede crear un directorio que contenga un archivo .htaccess que tenga un aspecto similar al siguiente:

Deny from all

Esto le indicará a Apache que no sirva archivos de ese directorio; cualquier intento de acceder al directorio o su contenido se encontrará con un "403 Prohibido" respuesta del servidor.

Nota: Esto depende de que el host no haya eliminado Limit de la lista de opciones en su directiva AllowOverride ; la mayoría de los hosts compartidos no deberían tener una razón para hacerlo.

¿No podría pedirle al proveedor de alojamiento compartido que cree una carpeta raíz web externa para usted ? Ciertamente he hecho esto en el pasado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top