Ir al contenido principal

Cómo impedir que se ejecute PHP en la carpeta uploads de WordPress

1. Descripción general

Esta guía te muestra cómo bloquear la ejecución de archivos PHP en carpetas donde nunca deberían ejecutarse, como wp-content/uploads. Si un atacante consigue subir un PHP malicioso, no podrá ejecutarlo. Lleva un par de minutos.

2. Requisitos previos

  • Acceso a cPanel (Administrador de archivos o Terminal).

3. Instrucciones paso a paso

  • Desde el Administrador de archivos

  1. En cPanel, abre el Administrador de archivos y ve a wp-content/uploads/.

Captura de pantalla 1 de la guía

2. Crea un archivo .htaccess (o edita el existente).

Captura de pantalla 2 de la guía

3. Añade este código y guarda:

<Files *.php>

Require all denied

</Files>

⚠️ Importante: No pongas solo "deny from all" sin las etiquetas <Files>: bloquearías también todas las imágenes de la carpeta.

4. Repite en wp-content/cache/ si quieres.

  • Desde la Terminal

  1. Abre Terminal en cPanel.

Captura de pantalla 3 de la guía

2. Crea el archivo (cambia tu_usuario por tu usuario cPanel):

printf '<Files *.php>\nRequire all denied\n</Files>\n' > /home/tu_usuario/public_html/wp-content/uploads/.htaccess

3. Comprueba su contenido:

cat /home/tu_usuario/public_html/wp-content/uploads/.htaccess

Captura de pantalla 4 de la guía

4. Resultado esperado

Si alguien intenta abrir un archivo .php dentro de uploads, recibe un error 403. Tus imágenes se siguen viendo con normalidad.

¿A quién me dirijo si tengo problemas?

Si necesitas ayuda con respecto a estas modificaciones, puedes comunicarte con nuestro equipo de soporte en [email protected].

Estaremos encantados de ayudarte.

¿Ha quedado contestada tu pregunta?