🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

¿Por qué es importante desactivar la ejecución de archivos PHP en directorios de uploads? (cPanel/Plesk)

Actualizado el 3 de enero de 2026

¿Alguna vez te has preguntado qué pasaría si un atacante lograra ejecutar PHP directamente desde la carpeta donde se suben las imágenes de tu web? No es un escenario de película; es una de las vulnerabilidades más comunes y peligrosas en sitios web con sistemas de carga de archivos (uploads). En este artículo, voy a explicarte de forma clara y sencilla por qué es fundamental desactivar la ejecución de archivos PHP en los directorios de uploads, ya sea que uses cPanel, Plesk o cualquier otro panel de hosting. Además, aprenderás cómo hacerlo paso a paso y por qué esta práctica es un pilar básico de la ciberseguridad de tu sitio.

¿Qué significa “ejecutar PHP” en un directorio de uploads?

Cuando hablamos de ejecutar PHP, nos referimos a la capacidad del servidor web de interpretar y procesar archivos con extensión .php (o similares) que se encuentran en una carpeta específica. En un directorio normal, esto es útil para que funcione tu web. Pero en un directorio de uploads, donde los usuarios (o incluso tú mismo) pueden subir archivos, permitir la ejecución de PHP es como dejar la puerta de casa abierta de par en par.

¿Por qué es un riesgo tan grave?

Imagina que tu web tiene un formulario para que los clientes suban imágenes de perfil. Un atacante podría subir un archivo que se llame foto.php en lugar de foto.jpg. Si el servidor no está configurado correctamente, ese archivo se ejecutará como un script PHP. El atacante podría entonces:

  • Robar información sensible (contraseñas, datos de usuarios).
  • Instalar malware o puertas traseras.
  • Tomar el control completo de tu sitio web.
  • Enviar spam o redirigir a los visitantes a páginas maliciosas.

Todo esto sin que te des cuenta hasta que sea demasiado tarde.

La regla de oro de la ciberseguridad en uploads

La ciberseguridad básica nos dice que nunca debes confiar en los archivos subidos por los usuarios. Aunque tu web tenga un sistema de verificación de tipos de archivo, siempre existe la posibilidad de que un atacante engañe al sistema (por ejemplo, con dobles extensiones como imagen.php.jpg). La solución más efectiva y sencilla es desactivar la ejecución de PHP en los directorios donde se almacenan esos archivos.

¿Qué paneles de control permiten hacer esto?

Tanto cPanel como Plesk (los paneles de hosting más populares) ofrecen formas fáciles de aplicar esta medida de seguridad. También lo veremos para Syspanel (el nombre comercial de HestiaCP, que se accede por el puerto 2106). No importa cuál uses, el principio es el mismo: impedir que el servidor procese archivos PHP dentro de la carpeta de uploads.

Cómo desactivar la ejecución de PHP en cPanel (paso a paso)

Si tu hosting usa cPanel, sigue estos pasos. Es un proceso rápido y no requiere conocimientos avanzados.

Paso 1: Accede al administrador de archivos

Desde tu panel de cPanel, busca la sección "Archivos" y haz clic en "Administrador de archivos". Se abrirá una ventana con la estructura de carpetas de tu sitio.

Paso 2: Localiza el directorio de uploads

Normalmente, las subidas se almacenan en una carpeta llamada uploads, wp-content/uploads (en WordPress), files o similar. Navega hasta ella.

Paso 3: Crea o edita el archivo .htaccess

En la raíz del directorio de uploads, debes crear (o modificar si ya existe) un archivo llamado .htaccess. Si no ves el archivo, asegúrate de que en el Administrador de archivos tengas activada la opción "Mostrar archivos ocultos".

Paso 4: Añade las reglas de seguridad

Dentro del archivo .htaccess, pega el siguiente código:

# Desactivar la ejecución de PHP en este directorio
<Files *.php>
    deny from all
</Files>

# Opcional: también para otras extensiones peligrosas
<FilesMatch "\.(php|php\.|phtml|php3|php4|php5|phps|pl|py|jsp|asp|htm|html|shtml|sh|cgi)$">
    deny from all
</FilesMatch>

[INFO] El primer bloque bloquea cualquier archivo .php directamente. El segundo es más completo y cubre otras extensiones que también podrían ejecutarse. Puedes usar uno u otro, o ambos.

Paso 5: Guarda los cambios

Una vez guardado el archivo, la configuración se aplica de inmediato. No necesitas reiniciar nada. Ahora, si alguien intenta acceder a tusitio.com/uploads/malware.php, el servidor mostrará un error 403 (prohibido).

Cómo desactivar la ejecución de PHP en Plesk

En Plesk, el proceso es igual de sencillo, aunque la interfaz es diferente.

Paso 1: Accede al Administrador de archivos

Desde tu panel de Plesk, ve a "Sitios web y dominios" y selecciona el dominio que quieras proteger. Luego, haz clic en "Administrador de archivos".

Paso 2: Navega al directorio de uploads

Busca la carpeta donde se guardan los archivos subidos (por ejemplo, httpdocs/wp-content/uploads en WordPress).

Paso 3: Crea o modifica el archivo .htaccess

Al igual que en cPanel, necesitas un archivo .htaccess en la raíz de esa carpeta. Si no existe, créalo con el editor de texto del panel.

Paso 4: Inserta las reglas de bloqueo

Pega el mismo código que usamos en cPanel:

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

[TIP] Si tu sitio usa un CMS como WordPress, también puedes añadir reglas adicionales para proteger otros archivos sensibles, como wp-config.php. Pero lo prioritario es desactivar la ejecución en uploads.

Paso 5: Verifica la configuración

Guarda el archivo y, para probar, intenta acceder a una URL como tusitio.com/uploads/archivo.php (si no existe, el servidor te dará error 403). Si ves el error, ¡lo has logrado!

¿Y si uso Syspanel (HestiaCP)? Aquí tienes la guía

Si tu hosting se administra con Syspanel (el nombre comercial de HestiaCP, que se accede por el puerto 2106, por ejemplo tudominio.com:2106), el método es similar, pero con algunas particularidades.

Paso 1: Accede al panel Syspanel

Abre tu navegador y escribe tudominio.com:2106. Inicia sesión con tus credenciales.

Paso 2: Ve al administrador de archivos

Dentro de Syspanel, busca la opción "Administrador de archivos" o "File Manager". La ruta exacta puede variar según la versión, pero suele estar en el menú de la izquierda.

Paso 3: Localiza la carpeta de uploads

Navega hasta el directorio de tu sitio web (normalmente en /home/usuario/web/tudominio/public_html/) y luego a la carpeta de uploads.

Paso 4: Crea el archivo .htaccess

Al igual que en los otros paneles, necesitas un .htaccess en esa carpeta. Si no existe, créalo con el editor integrado.

Paso 5: Añade las reglas de bloqueo

Pega el mismo código que hemos visto:

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

[WARNING] En Syspanel, a veces la configuración de PHP se maneja a nivel de dominio, no de carpeta. Si después de añadir el .htaccess notas que aún se pueden ejecutar PHP, verifica que no haya una regla global que lo permita. En ese caso, contacta a tu proveedor de hosting para que aplique la restricción a nivel de servidor.

Beneficios adicionales de desactivar la ejecución en uploads

Además de protegerte contra ataques, esta práctica tiene otras ventajas:

  • Reduce la superficie de ataque: Los hackers suelen escanear sitios buscando directorios de uploads vulnerables. Si bloqueas la ejecución, tu sitio será mucho menos atractivo.
  • Cumplimiento de normativas: Si manejas datos de usuarios (RGPD, PCI DSS, etc.), esta medida es un requisito básico de seguridad.
  • Tranquilidad mental: Saber que has cerrado una de las puertas más comunes para los atacantes te permite dormir mejor.

Preguntas frecuentes (FAQ) sobre la desactivación de PHP en uploads

1. ¿Perderé funcionalidad en mi web si desactivo la ejecución de PHP en uploads?

No, a menos que tu web tenga un plugin o script que intente ejecutar archivos PHP desde esa carpeta (algo muy raro y, de hecho, peligroso). La mayoría de las aplicaciones (WordPress, Joomla, etc.) solo almacenan archivos estáticos (imágenes, PDFs, documentos) en uploads, por lo que no se ven afectadas.

2. ¿Qué pasa si mi web necesita ejecutar PHP en uploads? (por ejemplo, un foro que procesa imágenes)

En ese caso, deberías reconsiderar la arquitectura de tu aplicación. Nunca es seguro ejecutar código desde uploads. La alternativa es procesar los archivos en un directorio separado y seguro, o usar un servicio externo.

3. ¿El archivo .htaccess afecta a subdirectorios?

Sí, las reglas se aplican a la carpeta donde está el .htaccess y a todas sus subcarpetas, a menos que haya otro .htaccess que las anule.

4. ¿Puedo hacer esto sin usar .htaccess, por ejemplo, desde la configuración del panel?

En cPanel y Plesk hay opciones para deshabilitar PHP por directorio desde la interfaz gráfica (por ejemplo, en "Administrador de versiones de PHP" o "Configuración de PHP"). Sin embargo, el método con .htaccess es más universal y no depende del panel.

5. ¿Qué hago si mi hosting no permite .htaccess (por ejemplo, en servidores Nginx)?

En ese caso, debes pedir a tu proveedor de hosting que aplique la regla a nivel de servidor. La mayoría de los hosts con Nginx ofrecen esta opción en su panel o mediante un ticket de soporte.

Conclusión: Un pequeño cambio, un gran beneficio

Desactivar la ejecutar PHP en los directorios de uploads es una de las medidas de ciberseguridad más efectivas y fáciles de implementar. Tanto si usas cPanel, Plesk o Syspanel (puerto 2106), el proceso es simple y no te llevará más de 5 minutos. A cambio, reduces drásticamente el riesgo de que tu web sea comprometida.

No esperes a que sea demasiado tarde. Revisa hoy mismo la configuración de tu sitio y aplica esta protección. Tu futuro yo (y tus visitantes) te lo agradecerán.

[TIP] Si tienes dudas, busca en la documentación de tu panel o contacta con el soporte de tu hosting. La mayoría de los proveedores conocen esta práctica y te ayudarán a implementarla.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel