Permitir extensiones de archivo en WordPress

28 de /junio06 de /2020
3m 47s
wordpress
0 comentarios
5585

WordPress límita por seguridad ciertas extensiones de archivo, en algunos casos necesitamos subir archivo de tipo .svg o .webp que serán rechazados por el sistema, existen varias formas de dar permiso al sistema para aumentar el tipo de archivos que queremos subir, debemos de tener en cuenta otros factores antes de hacer esto como la seguridad por ejemplo, para ello existen muchos plugins y es posible que sea la mejor opción si solo necesitamos agregar una única extensión de archivo, el problema lo tenemos cuando son varias extensiones.

La forma incorrecta

He visto en muchas instalaciones una forma poco recomendable de hacer esto, en el archivo wp-config.php se suele insertar la siguiente línea:

define('ALLOW_UNFILTERED_UPLOADS', true);

Subir archivos comprimidos

La forma más sencilla de realizar esta tarea sería comprimir los archivos en zip para evitar problemas de cualquier tipo, aunque esto no siempre es lo más cómodo para los usuarios

La forma correcta

La forma correcta de permitir otros tipos de extensión de archivo en Worpress sería creando una función en nuestro functions.php que defina los tipos mime que queremos permitir:

add_filter( 'upload_mimes', 'ddw_allow_myme_types', 1, 1 );
function ddw_allow_myme_types( $mime_types ) { $mime_types['EXTENSION_DE_ARCHIVO'] = 'TIPO_MIME'; return $mime_types;
}

Por ejemplo:

add_filter( 'upload_mimes', 'ddw_allow_myme_types', 1, 1 );
function ddw_allow_myme_types( $mime_types ) { $mime_types['aac'] = 'audio/aac'; return $mime_types;
}

También podemos limitar tipos de extensión de archivo:

add_filter( 'upload_mimes', 'ddw_disallow_myme_types', 1, 1 );
function ddw_disallow_myme_types( $mime_types ) { unset( $mime_types['xls'] ); unset( $mime_types['xlsx'] ); return $mime_types;
}

O combinar ambos en la misma función:

add_filter( 'upload_mimes', 'ddw_myme_types', 1, 1 );
function ddw_myme_types( $mime_types ) { $mime_types['aac'] = 'audio/aac'; unset( $mime_types['xls'] ); unset( $mime_types['xlsx'] ); return $mime_types;
}

Por último os dejo todas las extensiones de archivo y su tipo mime para insertarlas en la función si lo necesitáis:

.aac	audio/aac
.abw	application/x-abiword
.arc	application/octet-stream
.avi	video/x-msvideo
.azw	application/vnd.amazon.ebook
.bin	application/octet-stream
.bz	application/x-bzip
.bz2	application/x-bzip2
.csh	application/x-csh
.css	text/css
.csv	text/csv
.doc	application/msword
.epub	application/epub+zip
.gif	image/gif
.htm	text/html
.html	text/html
.ico	image/x-icon
.ics	text/calendar
.jar	application/java-archive
.jpeg	image/jpeg
.jpg	image/jpeg
.js	application/javascript
.json	application/json
.mid	audio/midi
.midi	audio/midi
.mpeg	video/mpeg
.mpkg	application/vnd.apple.installer+xml
.odp	application/vnd.oasis.opendocument.presentation
.ods	application/vnd.oasis.opendocument.spreadsheet
.odt	application/vnd.oasis.opendocument.text
.oga	audio/ogg
.ogv	video/ogg
.ogx	application/ogg
.pdf	application/pdf
.ppt	application/vnd.ms-powerpoint
.rar	application/x-rar-compressed
.rtf	application/rtf
.sh	application/x-sh
.svg	image/svg+xml
.swf	application/x-shockwave-flash
.tar	application/x-tar
.tif	image/tiff
.tiff	image/tiff
.ttf	font/ttf
.vsd	application/vnd.visio
.wav	audio/x-wav
.weba	audio/webm
.webm	video/webm
.webp	image/webp
.woff	font/woff
.woff2	font/woff2
.xhtml	application/xhtml+xml
.xls	application/vnd.ms-excel
.xml	application/xml
.xul	application/vnd.mozilla.xul+xml
.zip	application/zip
.3gp	video/3gpp
.3gp	audio/3gpp
.3g2	video/3gpp2
.3g2	audio/3gpp2
.7z	application/x-7z-compressed

En futuras publicaciones hablaremos de la seguridad de este tipo de prácticas con algunas extensiones de archivo

Valoraciones

Sé el primero en valorar

* Tu valoración puede tardar hasta 72 horas en publicarse.

He leido y acepto el Aviso legal y condiciones de uso

Quizás te interese ...

Este sitio web utiliza cookies

Utilizamos cookies propias y de terceros para personalizar el contenido, analizar nuestros servicios, ofrecer funciones de redes sociales, analizar el tráfico y mostrarle publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de sus hábitos de navegación.

Permitir todas las cookies Configurar Política de cookies