Contrôler l’accès
La capacité WordPress manage_options est vérifiée côté serveur. Masquer un bouton ne suffit pas à protéger l’export.
02 / JOURNALISATION & SÉCURITÉ WEB
Garder une trace lisible des événements de connexion, sans enregistrer l’identité des utilisateurs dans le journal.
DU SIGNAL À LA CONSULTATION
Un hook signale une connexion réussie ou un échec.
Un identifiant, une date UTC, un type et un résultat.
Une insertion et un nettoyage dans une transaction.
Des filtres, des compteurs, un export et des alertes optionnelles.
Administrer un site demande de comprendre ses événements techniques. Zilyass Guard se concentre sur un besoin précis : consulter certains événements de connexion WordPress dans un journal simple et exportable.
Le plugin s’appuie sur les hooks natifs wp_login et wp_login_failed. Il ne modifie pas la procédure d’authentification et ne demande pas les arguments contenant les identifiants de l’utilisateur.
login et résultat success ou failure.La capacité WordPress manage_options est vérifiée côté serveur. Masquer un bouton ne suffit pas à protéger l’export.
Un nonce complète l’autorisation pour l’export et les réglages. Il ne remplace ni l’authentification ni le contrôle des droits.
Une transaction SQL lie insertion et nettoyage. Un verrou coordonne les écritures simultanées du plugin.
Aucun nom d’utilisateur, mot de passe, cookie ou IP dans les quatre colonnes. L’adresse des alertes est un réglage séparé.
event_id → identifiant unique de l’événement
occurred_at → date et heure en UTC
event_type → login
outcome → success | failureLes filtres sont validés, les requêtes SQL utilisent des paramètres préparés et les valeurs affichées sont échappées. L’identifiant unique sert à reconnaître un enregistrement : il ne rend pas le journal inviolable.
Les alertes sont désactivées par défaut. Après configuration, le plugin utilise le transport e-mail de WordPress. Une demande d’envoi acceptée ne prouve pas la réception du message : celle-ci doit être vérifiée séparément.
Les échecs suivants restent enregistrés pendant le délai de dix minutes, mais ne produisent pas une file d’e-mails à envoyer plus tard. Le bouton de test est limité séparément, à un essai par minute.
Le nettoyage intervient lors d’enregistrements, de consultations, d’exports et via une tâche horaire WordPress. Sur un site inactif, la purge physique peut être retardée : la planification WordPress dépend de ses déclenchements.
Les tests locaux documentés couvrent notamment l’enregistrement, les filtres, l’export, les droits, la conservation, la concurrence et les alertes. Le transport e-mail y est intercepté pour vérifier les demandes sans envoyer de messages réels.
Le formulaire natif et les connexions utilisant les hooks étudiés constituent le périmètre vérifié. Certains cas, comme des champs vides, peuvent ne pas produire d’événement. Les autres mécanismes d’authentification et extensions tierces n’ont pas une couverture garantie.
Le propriétaire de la base peut modifier les enregistrements. Une panne d’écriture peut faire perdre un événement. Ce prototype n’est donc ni un journal inaltérable ni une garantie de disponibilité sous forte charge.
Ils permettent de réagir à des événements natifs sans réécrire le système de connexion. Le plugin reste indépendant du formulaire et se limite aux signaux qu’il reçoit effectivement.
L’objectif de ce prototype est de compter et consulter des événements, pas d’identifier les personnes. Quatre champs suffisent à cet objectif, avec la limite assumée de ne pas attribuer les échecs à un compte.
Pour que ces opérations restent cohérentes : si une étape échoue, leur annulation évite une application partielle. Le verrou répond à une autre question, celle de plusieurs écritures exécutées en même temps.
Un pare-feu peut filtrer ou bloquer un trafic selon des règles. Guard reçoit certains événements, les journalise et peut demander une notification. Il ne prend pas de décision de blocage.
L’AUTRE PROJET
Zilyass Analytics