Skip to main contentSkip to footer

Hooks et API pour développeurs

Des actions et filtres stables pour les webhooks, les intégrations SIEM et le code sur mesure, la vérification des formulaires pour vos propres formulaires, les routes REST de la 2FA, les shortcodes et les tables de la base de données. Tout ce qui figure sur cette page appartient à l’extension gratuite, sauf mention contraire sur la ligne.

Actions

  • reportedip_hive_threshold_exceeded( $ip, $event_type, $details ) : une fois par détection confirmée d’un capteur, quels que soient les réglages de blocage et de signalement. Le bon endroit pour un SIEM.
  • reportedip_hive_ip_blocked( $ip, $reason, $blocked_until ) : une adresse a été bloquée ; $blocked_until est une date UTC ou null pour un blocage permanent.
  • reportedip_hive_ip_unblocked( $ip ) : un blocage a été levé.
  • reportedip_hive_report_queued( $ip, $category_ids, $report_type ) : un signalement est entré dans la file, après les contrôles de délai et de doublons ; identifiants de catégories séparés par des virgules, negative ou positive.
  • reportedip_hive_access_denied( $ip, $context ) : juste avant la page de blocage 403. Les refus de la garde avant WordPress s’arrêtent plus tôt et ne l’atteignent pas.
  • reportedip_hive_2fa_verified( $user_id, $method, $context ) : un second facteur a été validé, sur wp-login et sur la route REST. Le wp_login du cœur s’y déclenche également.
  • reportedip_hive_2fa_method_enabled( $user_id, $method ) : une méthode 2FA a été activée pour un utilisateur.
  • reportedip_hive_mode_changed( $old, $new ) et reportedip_hive_tier_changed( $old, $new ) : le mode de fonctionnement ou l’offre a changé.
add_action( 'reportedip_hive_threshold_exceeded', function ( $ip, $event_type, $details ) {
    wp_remote_post( 'https://siem.example.com/ingest', array(
        'body' => wp_json_encode( compact( 'ip', 'event_type', 'details' ) ),
    ) );
}, 10, 3 );

Filtres

  • reportedip_hive_rest_bypass_routes( $routes ) : préfixes REST que le capteur de rafales ignore, par exemple une extension de consentement maison.
  • reportedip_hive_rest_sensitive_routes( $routes ) : routes REST que le capteur de rafales surveille de plus près.
  • reportedip_hive_scan_paths( $paths ) et reportedip_hive_decoy_paths( $paths ) : complètent les listes de chemins de sondage et de chemins appâts.
  • reportedip_hive_waf_bypass_routes( $routes ) : routes REST que le moteur ignore, comparées comme préfixe ancré de la route résolue. Pour un faux positif isolé, préférez une exception dans l’administration.
  • reportedip_hive_bot_allowlist_patterns( $patterns ) : motifs de user agent de robots d’indexation qui sont vérifiés au lieu d’être traités comme des scanners.
  • reportedip_hive_event_category_map( $map ) : catégorie communautaire sous laquelle un type d’événement est signalé.
  • reportedip_hive_reputation_block_hours( 24 ) : durée du blocage local après une correspondance de réputation.
  • reportedip_hive_reputation_threshold_floor( 25 ) : relève le plancher sous le niveau de protection ; il n’est pas possible de l’abaisser.
  • reportedip_hive_blocked_page_strings( $strings, $context ) : les textes de la page de blocage (doc_title, title, message, reason).
  • reportedip_hive_external_url( $url, $context ) : remplace les adresses reportedip.com vers lesquelles l’extension renvoie, comme la fiche d’une IP ou le flux d’actualités.
  • reportedip_hive_mail_provider( $provider ) : votre propre fournisseur d’e-mails, qui implémente interface-mail-provider.php.
  • reportedip_2fa_bypass( false, $user ) : saute le second facteur pour un utilisateur ; le step-up adaptatif le respecte aussi.
  • reportedip_hive_webauthn_rp_id, reportedip_hive_webauthn_allowed_origins, reportedip_hive_webauthn_user_verification : partie de confiance, origines et vérification de l’utilisateur pour les passkeys.
  • reportedip_hive_form_proof_adapters et reportedip_hive_reputation_form_surfaces : les formulaires que couvrent la vérification des formulaires et la vérification communautaire.
  • reportedip_hive_tor_block_hours( 24 ) : durée d’un blocage Tor, module Pro.

La vérification pour vos propres formulaires

Un formulaire de contact, un formulaire de réservation ou tout formulaire d’extension peut utiliser la vérification invisible au lieu d’un CAPTCHA. Enregistrez le formulaire comme surface, affichez le champ là où le formulaire est rendu et demandez le verdict là où il est validé :

add_filter( 'reportedip_hive_form_proof_adapters', function ( $surfaces ) {
    $surfaces[] = 'my_form';
    return $surfaces;
} );

// Dans l’élément <form> :
ReportedIP_Hive_Form_Proof::field( 'my_form' );

// À l’envoi du formulaire :
if ( ! ReportedIP_Hive_Form_Proof::passes( 'my_form' ) ) {
    // Refuser et dire pourquoi à l’expéditeur.
}

passes( $surface, $strict = true ) refuse en mode strict un envoi sans le champ ; passez false tant que des pages d’un cache plus ancien peuvent encore être servies. check( $surface ) renvoie le verdict lui-même. La page ne contient rien de propre à une requête, les caches de pages continuent donc de fonctionner.

Routes REST de la 2FA

Pour les applications et les front-ends headless, espace de noms reportedip-hive/v1 :

  • POST /2fa/challenge : nom d’utilisateur et mot de passe, répond avec un jeton de vérification et les méthodes de l’utilisateur. 20 requêtes par 5 minutes et par adresse.
  • POST /2fa/verify : jeton, méthode et code, pose le cookie d’authentification. 30 requêtes par 5 minutes et par adresse.
  • GET /2fa/methods : les méthodes actives de l’utilisateur connecté.

Le module Pro ajoute une route pour les tâches de la preuve de calcul et les routes signées de la gestion de flotte ; aucune n’est destinée à être appelée par votre propre code.

Shortcodes

Chaque shortcode rend le même composant web <rip-hive-banner> avec des chiffres issus d’un cache de six heures.

  • [reportedip_badge] : petit badge, ton protect.
  • [reportedip_stat] : un seul chiffre, ton trust.
  • [reportedip_banner] : large bannière, ton community.
  • [reportedip_shield] : bouclier, ton protect.

Attributs : stat (attacks_30d, attacks_total, blocked_active, whitelist_active, logins_30d, spam_30d, api_reports_30d, reports_total), tone (protect, trust, community, contributor), color, background, label, intro. Le générateur de bannières de la page Community, onglet Badges, écrit le shortcode à votre place.

Tables de la base de données

L’extension gratuite crée huit tables avec le préfixe {prefix}reportedip_hive_, sur un réseau sous le préfixe de base, si bien que chaque décision s’applique à tout le réseau. Schéma en version 25 ; chaque mise à jour migre étape par étape. Toutes les dates sont en UTC.

  • logs : événements de sécurité avec détails, gravité et site.
  • whitelist : adresses et plages de confiance, éventuellement avec une expiration.
  • blocked : blocages actifs (manuels, automatiques, réputation, groupe) avec leur fin.
  • attempts : compteurs par adresse et par type de tentative.
  • api_queue : signalements en attente pour la communauté, avec nouvelles tentatives.
  • stats : totaux quotidiens pour les graphiques.
  • trusted_devices : jetons d’appareils 2FA sous forme d’empreintes SHA-256.
  • waf_exceptions : les exceptions du pare-feu.

Le module Pro ajoute audit_log (piste d’audit) et group_entries (liste du groupe).

Constantes

  • REPORTEDIP_HIVE_DISABLE_HIDE_LOGIN : désactive Hide Login depuis wp-config.php lorsque vous n’atteignez plus la page de connexion.
  • REPORTEDIP_HIVE_DISABLE_FORM_PROOF : désactive entièrement la vérification des formulaires.

Créer un module

L’extension gratuite publie une API d’extension : l’action reportedip_hive_loaded une fois prête, reportedip_hive_uninstall à la suppression, et des filtres pour les réglages, les sections, les tables, les tâches planifiées et la liste des fonctions. Le module Pro repose uniquement sur elle. Le code source de l’extension et son journal des modifications se trouvent sur GitHub.

Dernière mise à jour: · Maintenu par l’équipe ReportedIP

Security Focused
Conforme au RGPD
Made in Germany
Retour aux docs