NuevoBlack Friday: 50 % de descuento en tu primer pago
Solución de problemas de WordPress

Lo sentimos, este tipo de archivo no está permitido por razones de seguridad

La carga fue rechazada antes de que se haya escrito algo. O la extensión no está en la lista permitida, o el contenido del archivo no coincide con la extensión.

Sorry, this file type is not permitted for security reasons.

Respuesta breve

Compruebe lo que el archivo en realidad es más que lo que se llama. WordPress verifica el contenido contra la extensión, por lo que un archivo renombrado se niega incluso cuando se permite su extensión - y que el cheque es proteger usted, no obstruir usted.

Diagnóstico

Las causas más probables primero.

Revisa la lista en orden. Cada comprobación permite confirmar o descartar una causa antes de hacer cambios: las soluciones son distintas y adivinar cuesta más que ejecutar un comando.

CausaCómo comprobarloSolución
La extensión no está en la lista permitidaLos formatos comunes suben finamente y este no lo hace. SVG, WebP en versiones anteriores, y los archivos de fuentes son los ejemplos habituales.Agregue el tipo a través del filtro upload_mimes, nombrando la extensión y su tipo MIME. Agregue sólo los formatos que necesita en lugar de abrir la lista en general.
El contenido no coincide con la extensiónInspección del archivo reporta un tipo diferente de su nombre: un PNG guardado como .jpg, o una hoja de cálculo exportada como .csv que es realmente HTML.Convertir el archivo correctamente en lugar de renombrarlo. WordPress compara el tipo real con la extensión precisamente para atrapar esto, y sobreriding el cheque es la palanca incorrecta.
Multisite restringe las cargas de red en todaNetwork Admin → Configuración de listas permitidos tipos de archivos, y la extensión no está disponible.Agregue la extensión a la lista de la red. Se aplica además del filtro por sitio, por lo que un filtro por sí solo no se pasará.
SVG está siendo rechazado deliberadamenteSólo SVG falla, y el archivo es válido. Core no lo permite por defecto.Permitirlo sólo con la sanitización en su lugar. SVG es XML que puede llevar script, por lo que una carga no autorizada es un vector descriptor cruzado almacenado en lugar de una imagen.
Guía

Solución paso a paso.

Los comandos requieren WP-CLI y acceso a la consola. Si no los tienes, cada paso explica cómo hacer lo mismo desde el panel o por SFTP.

  1. Descubre lo que es el archivo realmente

    Esto lee el contenido, no el nombre — lo mismo que WordPress hace.

    file --mime-type -b broken-upload.jpg
  2. Vea lo que WordPress actualmente permite

    La lista es filtrable, por lo que puede diferir del defecto documentado.

    wp eval 'print_r( get_allowed_mime_types() );' | head -n 30
  3. Permitir un tipo extra específico

    Añadir esto en un pequeño plugin en lugar del tema, por lo que sobrevive un cambio de tema.

    add_filter( 'upload_mimes', function ( $mimes ) {
        $mimes['webp'] = 'image/webp';
        return $mimes;
    } );
  4. Convertir en lugar de cambiar el nombre cuando los tipos de desacuerdo

    Re-encoding produce un archivo cuyo contenido y extensión coinciden, que es lo que el cheque está pidiendo.

    magick input.jpg output.png
  5. Retro y confirmar el tipo fue almacenado

    Una carga exitosa registra el tipo MIME detectado; leerlo de nuevo confirma la fijación tomada.

    wp post list --post_type=attachment --fields=ID,post_mime_type --posts_per_page=5
En MagicWP

De esto se encarga la plataforma.

La biblioteca de medios y la cuenta SFTP son caminos separados a la misma webroot, por lo que un diseñador que necesita un formato inusual puede colocarlo directamente sin que la lista de tipos permitidos se ensanche para cada editor en el sitio. Nada en la plataforma requiere el control de contenido-versus-extensión para ser deshabilitado, que es el acceso directo más "permitir cualquier tipo de archivo" snippets toman.

Preguntas frecuentes

Preguntas frecuentes.

¿Es seguro permitir que SVG suba?
Sólo con la sanitización. SVG es XML y puede contener script que se ejecuta en el contexto de su dominio cuando el archivo se abre directamente, por lo que un SVG no autorizado de un colaborador no confiable es un XSS almacenado, no una imagen.
¿Por qué mi .csv rechazada cuando se permite la CSV?
Debido a que el contenido no es CSV. Las exportaciones de herramientas de hoja de cálculo son a menudo HTML o un formato Excel con un nombre .csv, y el desajuste es exactamente lo que el cheque captura. Reexportar como texto real separado de coma.
¿Debería usar ALLOW_UNFILTERED_UPLOADS?
No. Desactiva el cheque por cada administrador y cada carga, que convierte un archivo inconveniente en una forma permanente para colocar contenido ejecutable en la webroot. Permita el tipo específico en su lugar.
El mismo archivo subió bien el año pasado. ¿Qué cambió?
O la lista permitida se estrecha — un plugin que agregó el tipo fue eliminado — o el archivo fue re-savado por una herramienta que cambió su formato real mientras guardaba el nombre.
Errores relacionados

Si el problema era otro.

Estos errores pueden parecerse en el navegador.