Cómo deshabilitar la ejecución de PHP en ciertos directorios

En WordPress Directo siempre primamos la seguridad ante todo lo demás. Es por eso que siempre nos gusta traer tutoriales que exploten dicha faceta del desarrollo web. Os instamos mil y una veces a que actualiceis WordPress cada vez que hay una nueva actualización, nos ponemos pesados para que instaléis plugins que protejan el inicio de sesión e incluso os hemos enseñado métodos para proteger el backoffice al máximo. La verdad que en lo que respecta a este tema, nunca nos parece suficiente.

¿Sabíais que existen directorios en WordPress que cuentan con permisos de escritura? Mediante estos permisos podemos subir contenido a dichos directorios como por ejemplo imágenes, vídeos, pdfs… Esto está muy bien pero, ¿sabéis también que los piratas informáticos suelen aprovechar estos directorios con permisos de escritura para colarnos malware? Dicho malware puede llevar al traste nuestro proyecto web incapacitando la navegación en el mejor de los casos, e incluso eliminando nuestra base de datos en el peor de los escenarios posible. Como diría nuestro querido entrenador Del Bosque: «Poca broma…«

¿Cómo podemos protegernos ante esta práctica? La solución es sencilla. Solamente hay que deshabilitar la ejecución de PHP en aquellos directorios que únicamente están pensados para albergar archivos y en los cuales no hay y nunca habrá scripts del lenguaje de programación del lado del servidor.

En este artículo te explicamos cómo deshabilitar la ejecución de PHP en ciertos directorios de manera sencilla y rápida. ¿Te gusta la idea? ¡Pues vamos allá!

Deshabilitar la ejecución de PHP en ciertos directorios

Ya os hemos hablado en otras ocasiones del archivo .htaccess. Básicamente el fichero htaccess es un fichero especial que permite definir diferentes directivas de configuración para cada directorio (con sus respectivos subdirectorios) sin necesidad de editar el archivo de configuración principal de Apache. Es decir, podremos modificar directivas a nivel servidor sin tener que entrar en el propio servidor a configurarlas.

Mediante el fichero .htaccess podremos reorganizar el sistema de URLs de un proyecto web, realizar redirecciones 301, proteger con contraseña un directorio y, como puedes suponer, restringir la ejecución de PHP en una carpeta. Así que, para llevar a cabo nuestra misión tendremos que crear un fichero .htaccess.

Abre un editor de texto básico, como puede ser el Bloc de notas, y crea un nuevo archivo. Dentro de dicho archivo agrega estas líneas:

<Files *.php>
deny from all
</Files>

Ahora es muy importante que guardes el contenido del fichero y que lo llames .htaccess. Es vital que el nombre del fichero sea este, así que revisa que sea correcto y no tenga ninguna extensión.

Una vez tenemos nuestro nuevo fichero .htaccess, tendremos que subirlo a aquellos directorios en los que no queremos que se ejecute PHP. Para ello necesitaremos un cliente FTP y así poder conectarnos con los ficheros de nuestra instalación WordPress.

Ojo, si nunca has utilizado un cliente FTP, no sabes ni lo que es o simplemente no tienes soltura a la hora de desenvolverte con él, te recomiendo que leas este artículo.

Ya conectados al hosting de la web, debemos localizar los directorios susceptibles de ser atacados con malware, tal y como he comentado antes. El primero de ellos es el directorio /wp-includes. No tardarás en encontrarlo puesto que se ubica en el directorio raíz. Entra a /wp-includes y sube en ese directorio el nuevo fichero .htaccess que acabamos de crear.

Ahora vuelve al directorio raíz y entra dentro de la carpeta /wp-content. Dentro de dicha carpeta, localiza el directorio /uploads. Entra dentro y sube ahí el nuevo fichero .htaccess.

Con esto habremos asegurado nuestro WordPress ante ataques informaticos por inyección de malware en directorios vulnerables. ¡Enhorabuena!

Y hasta aquí nuestro artículo sobre cómo deshabilitar la ejecución de PHP en ciertos directorios. Espero que te haya gustado y, si te ha resultado útil, no dudes en compartirlo en redes sociales. ¡Nos leemos!