¿Cuáles son los métodos contra la pérdida de código para aplicaciones web?

1

Me gusta ver la capa de aplicación web del lado del servidor lo más independiente posible, desde el sistema operativo, desde el software del servidor como (Apache, nginx, IIS, etc.). Para poder agarrar fácilmente la aplicación y desplegarla en un sistema más nuevo. Eso tiene ventajas y riesgos.

En el ejemplo usaré una configuración con Apache y PHP. Cuando el nuevo sistema operativo subyacente o el software del servidor no está configurado correctamente (ese es otro problema), el lenguaje de programación, por ejemplo, PHP no puede interpretarse como un código sino como un texto. Por lo tanto, si todo el código fuente está en una carpeta pública (y se conoce la estructura de la carpeta de archivos), el código fuente se filtra. Varias soluciones vienen a la mente:

  • mueva todos (excepto uno) los archivos PHP fuera de la carpeta pública para que, de suceder, solo se filtre un archivo (con solo incluye) y no todo el código fuente;
  • detecta si el sistema subyacente, como Apache, es compatible con PHP, por ejemplo, en .htaccess (ya que se incluye con la aplicación) y deniega el acceso a todo cuando PHP no es compatible / habilitado. Una vez hice una pregunta sobre eso aquí: enlace .

Tales métodos son fáciles de usar y mejoran el concepto de seguridad en capas. Dado que si la capa subyacente falla, la aplicación todavía puede retroceder en su propio estado de negación. Previniendo en este caso la fuga de código fuente.

Me gusta saber si existen otros métodos para evitar fugas en el código fuente. Por ejemplo, en un servidor de seguridad o proxy de aplicación web que detecta patrones de código fuente o diferentes enfoques de configuración práctica.

    
pregunta Bob Ortiz 20.06.2017 - 09:15
fuente

1 respuesta

1

Su primera solución es la correcta: tenga un archivo de punto de entrada que no contenga nada confidencial, pero reinicie el entorno de la aplicación y cargue el código desde una ubicación a la que el servidor web no pueda acceder. De hecho, eso es prácticamente todo. Frameworks do it: PHP es el único (que yo sepa) que persiste con esta estúpida idea de colocar el código en la carpeta raíz web y dejar que el servidor web maneje el enrutamiento de URL.

    
respondido por el André Borie 22.06.2017 - 16:12
fuente

Lea otras preguntas en las etiquetas