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.
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.
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.
| Causa | Cómo comprobarlo | Solución |
|---|---|---|
| La extensión no está en la lista permitida | Los 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ón | Inspecció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 toda | Network 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 deliberadamente | Só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. |
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.
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
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
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; } );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
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
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.
¿Es seguro permitir que SVG suba?
¿Por qué mi .csv rechazada cuando se permite la CSV?
¿Debería usar ALLOW_UNFILTERED_UPLOADS?
El mismo archivo subió bien el año pasado. ¿Qué cambió?
Si el problema era otro.
Estos errores pueden parecerse en el navegador.