Cómo proteger directorios web que solo me permiten acceder a ellos

2

Tengo una carpeta web con algunos archivos PHP que están alojados en mi sitio web (por ejemplo, www.mysite.com/myfiles/my_file.php) a los que accedo e intercambio información utilizando ajax para una aplicación web que tengo.

Mi pregunta es, ¿cómo puedo protegerlos contra el acceso directo y otras invasiones, y permitir que solo yo acceda a ellos a través de mi javascript / PHP (de la aplicación web)?

No quiero que el usuario tenga que escribir algún tipo de contraseña. Esta autenticación tiene que ser silenciosa.

    
pregunta Lioo 25.07.2016 - 00:25
fuente

2 respuestas

1

Si los archivos secretos y la aplicación PHP están en el mismo servidor:

Colóquelos fuera de la "página web".

Por ejemplo, normalmente tienes un directorio como: %código% que se asigna a: enlace

Lo que luego debes hacer es colocar estos archivos encima de la carpeta public_html, como: /public_html/cgi-bin/file.php

El archivo /somesecretdb.db puede acceder a somesecretdb.db simplemente abriendo /public_html/cgi-bin/file.php Pero el archivo no será accesible desde el "exterior".

Si los archivos secretos y la aplicación PHP están en servidores DIFERENTES:

Luego puedes usar la autenticación de IP, donde creas una regla de acceso o firewall, que solo permite el acceso al archivo desde el servidor que aloja tu aplicación.

Si se pretende que el servidor de archivos solo sea utilizado por el servidor de aplicaciones PHP, puede configurar el servidor de seguridad en el servidor de archivos para que solo pase las solicitudes del servidor de aplicaciones PHP al puerto 80.

Si el servidor de archivos está destinado para uso público (por ejemplo, algunos archivos deben ser accesibles directamente para los usuarios) y el uso privado, en su lugar, puede configurar el servidor web, utilizando .htaccess o el archivo de configuración, para indicarle que rechace las solicitudes de archivos privados, a menos que la IP de origen sea la misma que la del servidor de aplicaciones PHP.

    
respondido por el sebastian nielsen 25.07.2016 - 02:28
fuente
0

Según mi comprensión de su consulta, desea bloquear la solicitud directa de http para sus páginas, y permitir el acceso solo si a través de otras páginas php puede estar en una ubicación local o remota

Esto se puede hacer a través de sesiones y cookies, las cookies deben ser modificadas por respuesta enviando nuevas cookies en el encabezado de respuesta de cada solicitud

Establezca cookies por ejemplo (AL = md5 (permitido + tiempo de solicitud)) en las páginas a través de las cuales desea que se pueda acceder a la página de destino y mapéelos también en los datos de la sesión, luego verifique en la página protegida la correcta el valor de la cookie AL se solicita con la variable de sesión en el servidor, si las coincidencias permiten el acceso y eliminan la cookie cuando el servidor tiene las páginas protegidas de destino

    
respondido por el 8zero2.ops 24.10.2016 - 05:18
fuente

Lea otras preguntas en las etiquetas