Releases
Posted By

WP Cerber Security 9.9.3


English version: WP Cerber Security 9.9.3


Aperçu

La version 9.9.3 a été conçue pour garantir la fiabilité des éléments essentiels en cas de problème. Cette mise à jour corrige le comportement de WP Cerber lors d'erreurs PHP critiques, résout le problème de correspondance des plages IPv6 dans les listes de contrôle d'accès et permet l'affichage des notifications d'administration dans votre langue.

Points clés

  • Les erreurs PHP fatales sont à nouveau correctement gérées. Auparavant, lorsque la journalisation des erreurs était activée, une erreur non interceptée pouvait empêcher l'affichage de la page d'erreur critique WordPress et de l'e-mail relatif au mode de récupération. Ce problème est désormais résolu.
  • Des diagnostics fiables. L'erreur fatale qui a interrompu une requête est désormais systématiquement consignée dans le journal de Traffic Inspector, garantissant ainsi la précision de vos analyses.
  • Les plages d'adresses IPv6 se comportent de manière déterministe. Les plages valides, qu'elles soient exprimées en tirets ou en caractères génériques, ne sont plus rejetées, et les limites des plages sont désormais inclusives.
  • Notifications d'administration dans votre langue. Les messages générés par les requêtes en arrière-plan non supervisées sont désormais traduits au moment où vous les lisez, et non plus au moment de leur création.

Modifications de sécurité

La correspondance des plages IPv6 dans la liste de contrôle d'accès (ACL) est désormais corrigée. Notre analyseur de plages comparait les segments de poids faible d'une adresse IPv6 même lorsque les segments de poids fort avaient déjà établi l'ordre correct. Par conséquent, certaines plages IPv6 parfaitement valides, spécifiées avec un tiret ou un caractère générique, étaient rejetées lors de l'ajout d'une entrée de liste de contrôle d'accès ou du filtrage des enregistrements dans le visualiseur de journaux d'activité et de trafic. L'analyseur compare maintenant les segments restants uniquement lorsque les deux limites partagent le même segment de poids fort ; les plages inversées et de longueur nulle restent rejetées. Votre ACL accepte désormais toutes les plages valides.

Les limites des plages IPv6 sont désormais inclusives. La comparaison des limites a été corrigée afin que la première et la dernière adresse d'une plage IPv6 soient considérées comme faisant partie de cette plage. Les décisions d'accès sur l'ensemble de la plage sont désormais déterministes, adresses de bord incluses.

Expérience administrative

Le message d'erreur relatif à l'envoi d'e-mails est désormais traduit au moment de l'affichage. Sur un site web non anglophone, la notification d'échec d'envoi pouvait apparaître dans la langue de la requête ayant échoué, généralement une requête automatique comme un rapport planifié ou une alerte déclenchée par un visiteur. Le message est maintenant traduit dans la langue de l'administrateur au moment de son affichage.

Les messages de récupération des paramètres sont désormais correctement localisés. Auparavant , si les paramètres du plugin étaient corrompus sur un site web non anglophone, le rapport de récupération s'affichait à l'administrateur sans traduction. Cela nous posait également problème. Le message est maintenant reconstruit et traduit lors de son affichage, dans la langue de l'administrateur qui le consulte.

Les messages du widget d'état de préparation ont désormais bénéficié d'une implémentation i18n correcte. Plusieurs messages du widget ne comportaient pas de localisation et ne pouvaient donc pas être traduits. Ce problème est maintenant résolu.

Améliorations de la fiabilité

Couche de base de données plus rapide sur les chemins d'accès fréquents. Nous avons réduit la surcharge liée à la validation des identifiants dans notre générateur de requêtes en remplaçant les vérifications basées sur les expressions régulières par une analyse légère des caractères. Les opérations de base de données fréquemment exécutées sont désormais plus efficaces, et les règles de validation existantes ainsi que le comportement des requêtes sont intégralement préservés.

Gestion optimisée des problèmes signalés. Le registre qui gère les notifications d'incidents pour les administrateurs peut désormais réévaluer chaque incident juste avant son affichage, le mettre à jour ou le supprimer une fois résolu. Point important : nous avons conçu le chemin de gestion des erreurs en premier : une erreur à cette étape ne vous masquera jamais un problème.

Tests de compatibilité. Nous avons testé cette version avec PHP 7.4.33, 8.0.30, 8.1.34, 8.2.33, 8.3.33, 8.4.24 et 8.5.9, et avec WordPress 5.8.14, 6.6.6, 6.7.6, 6.8.7, 6.9.6 et 7.0.3.

Corrections de bugs

Les erreurs fatales non interceptées ne contournent plus la récupération de WordPress. Il s'agit du correctif le plus important de cette version. Auparavant, lorsque la journalisation des erreurs était activée et qu'une exception non interceptée survenait (par exemple, une exception non gérée, une erreur de type ou une erreur d'analyse syntaxique), notre gestionnaire interrompait le traitement normal des erreurs fatales PHP. Cela pouvait empêcher WordPress d'afficher sa page d'erreur critique, d'envoyer l'e-mail de démarrage du mode de récupération ou de rétablir la configuration d'une modification PHP incorrecte effectuée via l'éditeur de plugins ou de thèmes intégré. Les erreurs concernées pouvaient également être absentes du fichier debug.log lorsque WP_DEBUG_LOG était activé. Les erreurs PHP non fatales n'étaient jamais affectées par ce bogue.

Les erreurs fatales sont désormais systématiquement consignées dans le journal de Traffic Inspector. Auparavant, toutes les erreurs PHP n'étaient pas enregistrées. Nos routines d'arrêt effectuent des opérations de base de données et de réseau susceptibles de générer des diagnostics supplémentaires. De plus, comme PHP ne conserve qu'une seule trace de la dernière erreur, un avertissement ultérieur pouvait remplacer l'erreur fatale ayant interrompu la requête. Désormais, nous enregistrons la dernière erreur dès le début de notre fonction de rappel d'arrêt, afin que nos opérations de maintenance ne puissent plus l'écraser. Par souci de transparence : les fonctions de rappel d'arrêt enregistrées par d'autres portions de code avant la nôtre peuvent toujours modifier la dernière erreur avant notre exécution.

La navigation rapide ne génère plus d'avertissements PHP. Auparavant, les paramètres de requête à valeurs multiples pouvaient entraîner des comparaisons de chaînes de caractères dans le bloc de navigation rapide, générant ainsi des avertissements Array to string conversion . Selon la configuration de vos erreurs PHP, ces avertissements pouvaient polluer les journaux, apparaître dans l'interface d'administration ou corrompre une réponse AJAX.

En résumé

La version 9.9.3 rend les pannes prévisibles et les diagnostics fiables. Les erreurs fatales sont désormais consignées à la fois dans les outils de récupération WordPress et dans nos journaux, permettant ainsi un diagnostic précis. Les plages d'adresses IPv6 fonctionnent correctement dans les listes de contrôle d'accès (ACL) et les filtres de journaux. Les notifications d'administration s'affichent dans votre langue, exactement au moment et à l'endroit où vous les consultez.


I'm a team lead in Cerber Tech. I'm a software & database architect, WordPress - PHP - SQL - JavaScript developer. I started coding in 1993 on IBM System/370 (yeah, that was amazing days) and today software engineering at Cerber Tech is how I make my living. I've taught to have high standards for myself as well as using them in developing software solutions.

View Comments
There are currently no comments.