• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral principal

Dani Sánchez

  • ¿Eres agencia?
  • Quién soy
  • Servicios WordPress
    • Mantenimiento
    • Maquetación
    • Soporte técnico
  • Máster en WordPress
  • Portfolio
  • Blog
  • Presupuestos
Estás en: Inicio / Publicaciones / Limitar el tipo de archivos permitidos que podemos subir a WordPress

Limitar el tipo de archivos permitidos que podemos subir a WordPress

El 13 de enero de 2020 por dani.sanchez

Hace unos meses publiqué unos tutoriales para crear formularios externos para colaboradores externos. En uno de ellos se hablaba de cómo permitir a un usuario colaborador subir archivos a WordPress, para por ejemplo, agregar imágenes a sus artículos.

Me han comentado la preocupación de que estos usuarios colaboradores puedan subir archivos malintencionados aprovechando sus permisos de subida de archivos a WordPress.

Especificar únicamente los archivos permitidos

Para asegurarnos, podemos limitar el tipo de archivos permitidos para subir a WordPress utilizando la función:

function restringir_tipos_de_archivo($mime_types){
    $mime_types = array(
        'jpg|jpeg|jpe' => 'image/jpeg',
        'gif' => 'image/gif',
        'png' => 'image/png',
        'pdf' => 'application/pdf'
    );
    return $mime_types;
}
add_filter('upload_mimes', 'restringir_tipos_de_archivo');

Esta función sobreescribe los archivos permitidos por defecto de WordPress por nuestra lista, donde podemos añadir los tipos extra que necesitemos (por ejemplo archivos de video .avi, .mpeg, .webm…).

Bloquear tipos de archivo específicos

Si solamente queremos bloquear ciertos tipos de archivos, podemos usar la función:

function eliminar_tipos_de_archivo( $mime_types=array()){
    unset( $mime_types['mov|qt'] ); // Vídeos con la extensión .mov
    unset( $mime_types['mp4|m4v'] ); // Vídeos con la extensión .mp4
    unset( $mime_types['avi'] ); // Vídeos con la extensión .avi
    unset( $mime_types['mpeg|mpg|mpe'] ); // Vídeos con la extensión .mpg
 
    return $mime_types;
}
add_filter('upload_mimes','eliminar_tipos_de_archivo');

Añadiendo en cada unset() el tipo de archivo a bloquear.

Una capa extra de seguridad que podemos añadir a nuestros proyectos con una pocas líneas de código.

Publicado en: Publicaciones, Tutoriales, WordPress Etiquetado como: desarrollo web, tutoriales, wordpress

¿Quiéres invitarme a un café?

Si te has fijado en este blog no hay ni rastro de publicidad, todo el contenido publicado lo hago de forma artruista al igual que yo recurro a otros sitios cuando necesito algo. Pero si te he servido de ayuda y quieres agradecérmelo, puedes hacer una pequeña donación (el importe que quieras):

Entradas similares

  • Instalar WordPress + MySQL + phpMyAdmin desde Docker Compose
  • Instalar LAMP (Linux, Apache, MySQL, PHP) en Opensuse Tumbleweed
  • PRO Elements, o como tener Elementor Pro libre y gratuito
  • Tip para Elementor: Alinea elementos de forma óptima
  • Habilitar el soporte de Wayland en Firefox

Barra lateral principal

Autor

Dani Sánchez

logo mastodon @danisanchez

Entradas recientes

  • Importar un proyecto WordPress en un contenedor Docker
  • Instalar WordPress + MySQL + phpMyAdmin desde Docker Compose
  • Instalar LAMP (Linux, Apache, MySQL, PHP) en Opensuse Tumbleweed
  • PRO Elements, o como tener Elementor Pro libre y gratuito
  • Tip para Elementor: Alinea elementos de forma óptima

Comentarios recientes

  1. Laura en Habilitar el soporte de Wayland en Firefox
  2. Laura en Habilitar el soporte de Wayland en Firefox
  3. Denys Vega en Instalar WordPress + MySQL + phpMyAdmin desde Docker Compose
  4. Ramon Tubau en Evitar que WordPress pida los datos FTP al instalar o actualizar un plugin o tema en localhost
  5. Ramon Tubau en Evitar que WordPress pida los datos FTP al instalar o actualizar un plugin o tema en localhost

Categorías

  • Actualidad
  • Afiliación AliExpress
  • Agent Press Pro
  • Bettaso Web Restaurantes
  • Cursos
  • Destacado
  • Divi
  • Drupal
  • Elementor
  • Genesis
  • Iniciación a PHP
  • Joomla!
  • Linux
  • Publicaciones
  • Tutoriales
  • WooCommerce
  • WordPress

Maquetación web, landings, blogs y tiendas online
cuidando hasta el mínimo detalle

Si necesitas que desarrolle tu proyecto web ponte en contacto conmigo.

Contacto
  • Mastodon
  • YouTube
  • LinkedIn

Dani Sánchez © 2023 · Política de privacidad · Política de cookies

En mi sitio web utilizo cookies de carácter técnico para el correcto funcionamiento de la plataforma. Además de cookies analíticas de terceros para obtener datos estadísticos sobre el uso de la web, con el fin de mejorar la experiencia de navegación y conocer qué contenidos son los más consultados. Puedes desactivar todas las cookies (excepto las técnicas) pulsando en Rechazar, o elegir qué cookies admites y cuales no, en el botón de Preferencias. Más información sobre el uso de cookies en la: Política de cookies.

Powered by  GDPR Cookie Compliance
Resumen de privacidad

En mi sitio web utilizo cookies de carácter técnico para el correcto funcionamiento de la plataforma. Además de cookies analíticas de terceros para obtener datos estadísticos sobre el uso de la web, con el fin de mejorar la experiencia de navegación y conocer qué contenidos son los más consultados. Puedes desactivar todas las cookies (excepto las técnicas) pulsando en Rechazar, o elegir qué cookies admites y cuales no, en el botón de Preferencias. Más información sobre el uso de cookies en la: Política de cookies.

Cookies técnicas necesarias

Las cookies técnicas necesarias tienen que activarse siempre para poder guardar tus preferencias de ajustes de cookies.

Si desactivas esta cookie no se pueden guardar tus preferencias. Esto significa que cada vez que visites esta web tendrás que activar o desactivar las cookies de nuevo.

Cookies analíticas

Utilizo Google Analytics para recopilar información anónima tal como el número de visitantes del sitio, o las páginas más populares.

Dejar este tipo de cookies activas me permite mejorar la web y mis servicios.

¡Por favor, activa primero las cookies estrictamente necesarias para que podamos guardar tus preferencias!

Política de cookies

Más información sobre la política de cookies