Consejos para sacar el mayor partido a Sandbox

6min

Sandbox es una de las herramientas más útiles para los desarrolladores y profesionales de IT a la hora de realizar pruebas y simulaciones en entornos aislados. A pesar de su gran potencial, muchos no aprovechan todas sus capacidades. En este artículo, te ofrecemos algunos consejos clave para sacar el mayor partido a esta herramienta y optimizar tus pruebas y desarrollos.

Índice

¿Qué es un Sandbox?

Sandbox es un entorno aislado que permite ejecutar aplicaciones y procesos sin que estos afecten al sistema operativo principal. Esto resulta especialmente útil, ya que permite desarrollar o modificar el contenido del sitio web en un entorno idéntico al de producción y sin afectar a su funcionamiento. Así, permite trabajar en una nueva versión de una web a cualquier hora del día y, una vez completada, publicar los cambios de forma rápida y sencilla.

Para sacar el máximo partido a esta funcionalidad te recomendamos que tengas en cuenta lo siguiente:

Cómo sacar el máximo provecho de Sandbox

Utiliza de forma coherente las carpetas especiales de tu hosting compartido

– En /html/ y /cgi-bin/ se almacenarán el código y contenido del sitio web: archivos de tipo .html, hojas de estilo css, código en PHP, perl, python… especialmente en /html/, que es la raíz desde la que se sirve el contenido por http.

– En /data/ se deben almacenar los archivos de datos, es decir, aquellos que contienen la información que proporcionamos a los visitantes, o la que almacenamos a partir de los datos que nuestras visitas nos aportan. Archivos de datos, tablas, bases de datos en ficheros, objetos serializados… y también las cadenas de conexión con las Bases de Datos.

–  La carpeta /apps/ se gestiona de forma automática desde el Panel de Control. Habrá una carpeta por cada aplicación desplegada, y en su interior deben almacenarse los archivos que estén directamente relacionados con la ejecución de esta aplicación, manteniendo, en la medida de lo posible, los datos separados, dentro de la carpeta /data/.

Si respetamos estas normas de orden dentro del desarrollo de nuestro sitio web resultará mucho más sencillo hacer uso de herramientas como Sandbox, ya que facilitaremos el despliegue de los cambios.

Centraliza el acceso a las Bases de Datos

Esta es una regla muy importante. El acceso a una Base de Datos requiere el uso de una cadena de conexión con parámetros especialmente sensibles, como el usuario y la contraseña. Toda la información necesaria para acceder a la Base de Datos está dentro de la cadena de conexión, así que esta cadena es la llave a todos los datos que podamos almacenar.

Cuantas más veces esté repetida esta cadena de conexión en nuestro código, más difícil será mantener una buena política de contraseñas que nos permita reemplazarla regularmente.

La mayor parte de aplicaciones web que podemos descargar por Internet almacenan la cadena de conexión en un archivo de tipo config.php, en la raíz del sitio web. Éstas cumplen con el requisito de mantener centralizado el acceso, ya que sólo está almacenado en este fichero.

Sin embargo, no es posible estar al cien por cien seguro de que nunca se descubrirá una vulnerabilidad en cualquier servidor web, y que con ella un atacante no pueda tener acceso al contenido de nuestro archivo config.php. Por ello, podemos añadir un nivel más de seguridad haciendo que la cadena de conexión esté almacenada en la carpeta /data/, de modo que no sea directamente accesible por nuestro servidor web.

Además, este cambio nos permitirá hacer cambios complejos del entorno Sandbox con mayor comodidad.

Mantén separadas la lógica del programa de la capa de presentación

A menudo, los cambios en un sitio web suelen complicarse porque el código encargado de dar formato al sitio, y la lógica encargada de realizar las operaciones, están mezclados en los mismos archivos, y se ha formado una fuerte interdependencia entre ellos.

Esto hace que, muchas veces, realizar pequeñas mejoras o incorporar nuevas funcionalidades se convierta en una tarea larga y complicada.

Para evitarlo, es recomendable mantener siempre un diseño del programa que permita separar lo que hace nuestro sitio web (crear usuarios, almacenar pedidos, listar productos…) de lo que presenta (formulario de alta, formulario de pedidos, catálogo de productos…). Esto permitirá hacer mejoras con mayor facilidad.

Utiliza URLs relativas dentro de tu sitio web

Si utilizas URLs absolutas, como por ejemplo https://tudominio.com/informes/, tu sitio quedará atado al nombre de dominio y a la ruta en la que está alojado. Si después decides utilizar otro nombre de dominio, o un subdominio, estas rutas dejarán de funcionar. Es recomendable utilizar rutas relativas dentro del mismo sitio web. En este caso, como estamos dentro de https://tudominio.com, para acceder a informes sólo es necesario que la URL indique “/informes”. Esto la hará independiente del dominio.

Algunas aplicaciones como WordPress construyen todas sus URLs de forma absoluta, y realizan redirecciones automáticas para dirigir el tráfico siempre hacia el mismo dominio. Si utilizas Sandbox para realizar cambios en WordPress, ten en cuenta que deberás tener mucho cuidado con la configuración a través de la administración web del blog, y que tendrás que modificar la programación del tema que utilizas para asegurarte de que todas las rutas hacia tu dominio incluyan el puerto 8008.

Una forma fácil de hacerlo es incorporar el mecanismo de buffer de PHP, iniciándolo antes del header y lanzándolo después del footer del tema que utilices, haciendo que la función de transformación del contenido del buffer incorpore el puerto a cada URL absoluta hacia tu sitio web. Asegúrate de quitar este mecanismo antes de copiar el contenido a producción, o de que no haga uso del buffer si el puerto por el que se accede a la aplicación no es el 8008.

El uso de la Sandbox es fundamental para cualquier desarrollador o profesional de IT que desee realizar pruebas de software o configuraciones sin comprometer su sistema principal. Siguiendo estos consejos, podrás maximizar su potencial y realizar tus pruebas de forma más eficiente y segura. No dudes en experimentar con diferentes herramientas y técnicas para encontrar la que mejor se adapte a tus necesidades.

Fernán García de Zúñiga

Productos relacionados: