Skip to content

Tout pour WordPress, le développement web — et plus encore

🔧 Comment corriger l'erreur « Désolé, ce type de fichier n'est pas autorisé pour des raisons de sécurité » dans WordPress

🔧 Comment corriger l'erreur « Désolé, ce type de fichier n'est pas autorisé pour des raisons de sécurité » dans WordPress

Vous téléchargez un fichier dans la bibliothèque de médias WordPress et recevez un avertissement rouge en réponse: « Sorry, this file type is not permitted for security reasons. » Une police.woff pour un design sur mesure, une icône SVG pour un logo, un livre.epub pour les utilisateurs: WordPress refuse tout simplement de les accepter.

Le problème ne vient pas de votre fichier. WordPress filtre strictement, par défaut, les types de données pouvant être téléchargés. Il s’agit d’un mécanisme de sécurité intégré qui protège votre site contre les fichiers potentiellement dangereux. Mais il bloque aussi des formats parfaitement légitimes dont vous avez besoin pour votre travail.

Voici trois méthodes efficaces pour contourner la restriction: une rapide avec du code dans wp-config.php, une flexible avec une extension, et une spécialisée pour les graphiques SVG. Aucune modification du cœur, aucun risque pour votre site.

💡 Aperçu rapide:

  • Supprimez les restrictions WordPress en utilisant la constante ALLOW_UNFILTERED_UPLOADS dans wp-config.php.
  • Installez l’extension Add MIME Types pour des ajouts de formats précis via le panneau d’administration.
  • Pour les graphiques SVG, utilisez Safe SVG avec son assainisseur intégré.

Pourquoi WordPress bloque le téléchargement de fichiers

WordPress prend en charge des dizaines de formats par défaut, mais pas tous. Le système vérifie le type MIME de chaque fichier téléchargé par rapport à une liste codée en dur de types autorisés. Si le type n’est pas trouvé, vous voyez le message « Sorry, this file type is not permitted for security reasons. »

Message d'erreur de type de fichier dans WordPress

Par défaut, WordPress autorise le téléchargement des catégories suivantes:

Catégorie

Extensions autorisées

Images

.jpg,.jpeg,.png,.gif,.ico,.webp

Vidéo

.mp4,.m4v,.mov,.wmv,.avi,.mpg,.ogv,.3gp,.3g2

Documents

.pdf,.doc,.docx,.ppt,.pptx,.pps,.ppsx,.odt,.xls,.xlsx,.psd

Audio

.mp3,.m4a,.ogg,.wav

Tout ce qui ne figure pas dans le tableau (.woff/.woff2 pour les polices,.svg pour les graphiques vectoriels,.epub pour les ebooks,.json,.xml,.csv) est bloqué par WordPress.

Un exemple typique: vous ajoutez une police personnalisée à votre thème et essayez de télécharger un fichier .woff via la bibliothèque de médias. Le résultat:

Erreur lors du téléversement d'un fichier .woff dans la médiathèque WordPress

Le fichier est sur le serveur, l’extension est correcte, le contenu est sûr, mais WordPress ne reconnaît pas le type MIME font/woff et le rejette. Il existe trois solutions.

Méthode 1: Code dans wp-config.php (rapide, pour tout format)

Le chemin le plus court consiste à ajouter une ligne au fichier de configuration de WordPress. La constante ALLOW_UNFILTERED_UPLOADS désactive la vérification du type MIME, vous permettant de télécharger des fichiers de n’importe quel format.

Avant de commencer, sauvegardez votre site. Modifier directement wp-config.php est une opération à faible risque, mais ce fichier est critique pour le fonctionnement de WordPress.

Connectez-vous à votre serveur via FTP/SFTP (FileZilla, WinSCP, ou le gestionnaire de fichiers de votre hébergement). Le fichier wp-config.php se trouve dans le dossier racine, au même endroit que les répertoires wp-admin et wp-includes.

Modification du fichier wp-config.php via un client FTP

Ouvrez wp-config.php et ajoutez la ligne suivante avant le commentaire /* That's all, stop editing! Happy blogging. */:

1define('ALLOW_UNFILTERED_UPLOADS', true);
Insertion du code ALLOW_UNFILTERED_UPLOADS dans le fichier wp-config.php

Enregistrez le fichier et téléversez-le à nouveau sur le serveur si vous l’avez modifié localement. Ensuite, déconnectez-vous de l’administration WordPress** et reconnectez-vous**. Cette étape est obligatoire; sans elle, la configuration modifiée ne sera pas prise en compte.

Après vous être reconnecté, essayez de téléverser le fichier. La restriction est levée.

Téléversement réussi du fichier .woff après suppression de la restriction

Avantages de cette méthode: instantanée, ne nécessite aucun plugin, fonctionne pour tous les formats. Inconvénient: elle ouvre les téléversements à absolument tout. ALLOW_UNFILTERED_UPLOADS ne fait pas la différence entre un .woff inoffensif et un fichier exécutable potentiellement dangereux. Si d’autres administrateurs ou auteurs interviennent sur le site, mieux vaut ne pas utiliser cette méthode.

Méthode 2: le plugin Add MIME Types (flexible, via l’administration)

Si vous ne souhaitez pas toucher à wp-config.php ou si vous avez besoin d’un contrôle précis (uniquement .woff et .svg, mais pas .exe), utilisez le plugin Add MIME Types sur WordPress.org.

Le plugin est activement maintenu (version 3.2.0, compatible PHP 8.5 et WordPress 7.0) et ne modifie pas les fichiers du cœur. Il se contente d’ajouter les types MIME nécessaires via le filtre standard de WordPress.

Installez et activez le plugin, puis allez dans Réglages → Add MIME Types. Vous verrez une liste des formats déjà autorisés; le plugin les affiche en rouge à la fin de la liste.

Page des réglages de types de fichier dans l'extension Add MIME Types

Pour ajouter un nouveau type, saisissez l’extension et le type MIME correspondant dans le champ. Par exemple:

1woff = font/woff
2woff2 = font/woff2
3svg = image/svg+xml
4epub = application/epub+zip

Cliquez sur Enregistrer les modifications et le format est ajouté. Vérifiez en téléversant un fichier du type requis dans la médiathèque. WordPress l’acceptera sans erreur.

Avantages: plus sûr que la constante ALLOW_UNFILTERED_UPLOADS (vous n’ajoutez que ce dont vous avez besoin), gestion via l’administration, les réglages sont conservés lors des mises à jour du cœur. Inconvénient: une étape de plus que la modification de code.

Alternative pour le SVG: le plugin Safe SVG

Si le seul format «non autorisé» sur votre site est le SVG, il existe une solution spécialisée. Safe SVG, de l’équipe 10up, ne se contente pas d’autoriser le téléversement d’images vectorielles; il assainit chaque fichier lors du téléversement, en supprimant le code XML/JavaScript potentiellement malveillant.

Extension Safe SVG dans le répertoire WordPress

Après installation, le plugin fonctionne sans configuration: aucun réglage n’est nécessaire. Les fichiers SVG sont immédiatement disponibles au téléversement et s’affichent correctement dans la médiathèque (y compris les aperçus, que WordPress ne fournit pas par défaut pour le SVG).

Le plugin est actif sur plus d’un million de sites, compatible avec WordPress 7.0 et régulièrement mis à jour. Si vous n’avez besoin que du SVG, Safe SVG traite le sujet plus proprement qu’un plugin MIME universel.

Voici une courte vidéo sur le sujet qui montre clairement les trois méthodes pour corriger l’erreur dans l’administration WordPress:

⁉️🤔 Foire aux questions

Est-il sûr d’utiliser ALLOW_UNFILTERED_UPLOADS sur un site en production?

Avec des réserves. La constante désactive complètement la vérification des types MIME. Tout utilisateur disposant du droit de téléversement peut alors importer n’importe quoi dans la médiathèque, y compris des scripts exécutables. Sur un site en production avec plusieurs auteurs, utilisez la deuxième méthode (Add MIME Types) ou, à défaut, limitez les personnes ayant accès à la médiathèque.

Pourquoi WordPress n’autorise-t-il pas le SVG par défaut?

Le SVG est un document XML, pas une image binaire. Un fichier SVG peut contenir du JavaScript, des gestionnaires d’événements et des balises <foreignObject>, ce qui ouvre un vecteur d’attaques XSS. C’est précisément pour cette raison que le cœur de WordPress bloque le SVG, et que des plugins comme Safe SVG font passer les fichiers par un assainisseur qui supprime tout code potentiellement dangereux pour ne conserver que le graphisme.

Après avoir ajouté le code dans wp-config.php, l’erreur persiste. Que faire?

Trois causes sont probables. Premièrement: vous ne vous êtes pas déconnecté puis reconnecté à l’administration. La configuration est mise en cache par la session, une nouvelle connexion est donc indispensable. Deuxièmement: le fichier a été placé au mauvais endroit. wp-config.php doit se trouver à la racine du site, pas dans /wp-content/ ni /wp-admin/. Troisièmement: un plugin de sécurité est actif sur le site (Wordfence, Solid Security) et intercepte les téléversements indépendamment de la constante. Vérifiez leurs paramètres.

Puis-je autoriser les téléversements pour un seul utilisateur?

Pas via ALLOW_UNFILTERED_UPLOADS; la constante est globale. Le plugin Add MIME Types s’applique également à tous les rôles disposant de la capacité upload_files. Pour un accès sélectif, utilisez le filtre upload_mimes dans functions.php avec une vérification current_user_can(), mais cela relève alors du développement sur mesure.

Que faire si le plugin Add MIME Types ne fonctionne pas pour mon format?

Certains formats exigent une correspondance exacte avec le type MIME que la fonction PHP finfo_file détermine sur votre serveur. Celui-ci peut différer du type «standard». Dans les réglages du plugin, activez l’option «Enable to debug output for file types recognized by WordPress», téléversez le fichier et regardez quel type MIME le serveur a réellement déterminé. Saisissez ensuite exactement ce type. Une fois la vérification faite, désactivez le mode débogage.

Supprimer le blocage: quelle méthode choisir

Logique de sélection en trois étapes:

  • Vous devez téléverser un fichier tout de suite? Modifiez wp-config.php. Cela prend 30 secondes et la restriction disparaît. N’oubliez pas de supprimer ou de commenter la ligne ensuite si le site est public.

  • Vous téléversez régulièrement des formats spécifiques? Add MIME Types est plus sûr, plus visuel et ne se réinitialise pas lors d’une mise à jour du cœur de WordPress.

  • Vous travaillez uniquement avec des SVG? Safe SVG est un outil spécialisé doté d’un assainisseur qui ne se contente pas d’«autoriser», mais nettoie également. Pour tout le reste, utilisez la première ou la deuxième méthode.

L’erreur «Désolé, ce type de fichier n’est pas autorisé» n’est pas un bug, mais une restriction intentionnelle. WordPress a toutefois laissé des moyens légitimes de la contourner. Choisissez celui qui convient et reprenez votre travail. 🔗 Add MIME Types sur WordPress.org | 🔗 Safe SVG sur WordPress.org