Skip to main contentSkip to footer

Hooks und Entwickler-API

Stabile Actions und Filter für Webhooks, SIEM-Anbindungen und eigenen Code, die Formularprüfung für Ihre eigenen Formulare, die 2FA-REST-Routen, die Shortcodes und die Datenbanktabellen. Alles auf dieser Seite gehört zum kostenlosen Plugin, sofern eine Zeile nichts anderes sagt.

Actions

  • reportedip_hive_threshold_exceeded( $ip, $event_type, $details ): einmal je bestätigter Erkennung eines Sensors, unabhängig von den Einstellungen zu Sperre und Meldung. Der richtige Ort für ein SIEM.
  • reportedip_hive_ip_blocked( $ip, $reason, $blocked_until ): Eine Adresse wurde gesperrt; $blocked_until ist eine UTC-Zeit oder null für eine dauerhafte Sperre.
  • reportedip_hive_ip_unblocked( $ip ): Eine Sperre wurde aufgehoben.
  • reportedip_hive_report_queued( $ip, $category_ids, $report_type ): Eine Meldung ist in die Warteschlange gelangt, nach Abkühlzeit und Duplikatprüfung; kommagetrennte Kategorie-IDs, negative oder positive.
  • reportedip_hive_access_denied( $ip, $context ): unmittelbar vor der Sperrseite mit 403. Abweisungen durch den Schutz vor WordPress enden früher und erreichen ihn nicht.
  • reportedip_hive_2fa_verified( $user_id, $method, $context ): Ein zweiter Faktor wurde bestanden, in wp-login und auf der REST-Route. Das Core-Ereignis wp_login feuert an derselben Stelle.
  • reportedip_hive_2fa_method_enabled( $user_id, $method ): Eine 2FA-Methode ist für einen Benutzer aktiv geworden.
  • reportedip_hive_mode_changed( $old, $new ) und reportedip_hive_tier_changed( $old, $new ): Betriebsmodus oder Tarif haben sich geändert.
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 );

Filter

  • reportedip_hive_rest_bypass_routes( $routes ): REST-Präfixe, die der Burst-Sensor überspringt, zum Beispiel für ein eigenes Consent-Plugin.
  • reportedip_hive_rest_sensitive_routes( $routes ): REST-Routen, die der Burst-Sensor genauer beobachtet.
  • reportedip_hive_scan_paths( $paths ) und reportedip_hive_decoy_paths( $paths ): erweitern die Listen der Prüf- und Köderpfade.
  • reportedip_hive_waf_bypass_routes( $routes ): REST-Routen, die die Engine überspringt, verglichen als verankertes Präfix der aufgelösten Route. Für einen einzelnen Fehlalarm ist eine Ausnahme im Admin besser.
  • reportedip_hive_bot_allowlist_patterns( $patterns ): User-Agent-Muster von Crawlern, die verifiziert statt als Scanner behandelt werden.
  • reportedip_hive_event_category_map( $map ): als welche Community-Kategorie ein Ereignistyp gemeldet wird.
  • reportedip_hive_reputation_block_hours( 24 ): Dauer der lokalen Sperre nach einem Reputationstreffer.
  • reportedip_hive_reputation_threshold_floor( 25 ): hebt die Untergrenze der Schutzstufe an; senken lässt sie sich nicht.
  • reportedip_hive_blocked_page_strings( $strings, $context ): die Texte der Sperrseite (doc_title, title, message, reason).
  • reportedip_hive_external_url( $url, $context ): ersetzt die Adressen auf reportedip.com, die das Plugin verlinkt, etwa den IP-Eintrag oder den News-Feed.
  • reportedip_hive_mail_provider( $provider ): ein eigener Mail-Anbieter, der interface-mail-provider.php umsetzt.
  • reportedip_2fa_bypass( false, $user ): überspringt den zweiten Faktor für einen Benutzer; auch die adaptive Nachabfrage hält sich daran.
  • reportedip_hive_webauthn_rp_id, reportedip_hive_webauthn_allowed_origins, reportedip_hive_webauthn_user_verification: Relying Party, Origins und Benutzerverifizierung der Passkeys.
  • reportedip_hive_form_proof_adapters und reportedip_hive_reputation_form_surfaces: die Formulare, die die Formularprüfung und die Community-Prüfung abdecken.
  • reportedip_hive_tor_block_hours( 24 ): Dauer einer Tor-Sperre, Pro-Add-on.

Die Formularprüfung für Ihre eigenen Formulare

Ein Kontaktformular, ein Buchungsformular oder jedes Formular eines Plugins kann die unsichtbare Prüfung statt eines CAPTCHA nutzen. Registrieren Sie das Formular als Oberfläche, geben Sie das Feld dort aus, wo das Formular gerendert wird, und fragen Sie das Urteil dort ab, wo es validiert wird:

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

// Inside the <form> element:
ReportedIP_Hive_Form_Proof::field( 'my_form' );

// When the form is submitted:
if ( ! ReportedIP_Hive_Form_Proof::passes( 'my_form' ) ) {
    // Refuse and tell the sender why.
}

passes( $surface, $strict = true ) weist im strikten Modus eine Einsendung ohne das Feld ab; übergeben Sie false, solange noch Seiten aus einem älteren Cache ausgeliefert werden können. check( $surface ) liefert das Urteil selbst. Die Seite enthält nichts Anfragespezifisches, Seiten-Caches funktionieren also weiter.

2FA-REST-Routen

Für Apps und Headless-Frontends, Namensraum reportedip-hive/v1:

  • POST /2fa/challenge: Benutzername und Passwort, antwortet mit einem Challenge-Token und den Methoden des Benutzers. 20 Anfragen in 5 Minuten je Adresse.
  • POST /2fa/verify: Token, Methode und Code, setzt das Anmelde-Cookie. 30 Anfragen in 5 Minuten je Adresse.
  • GET /2fa/methods: die aktiven Methoden des angemeldeten Benutzers.

Das Pro-Add-on ergänzt eine Route für die Aufgaben des Rechennachweises und die signierten Routen der Flottenverwaltung; keine davon ist für den Aufruf durch eigenen Code gedacht.

Shortcodes

Jeder Shortcode rendert dieselbe Web-Komponente <rip-hive-banner> mit Zahlen aus einem Zwischenspeicher von sechs Stunden.

  • [reportedip_badge]: kleines Badge, Ton protect.
  • [reportedip_stat]: eine einzelne Zahl, Ton trust.
  • [reportedip_banner]: breites Banner, Ton community.
  • [reportedip_shield]: Schild, Ton protect.

Attribute: 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. Der Banner-Baukasten auf der Community-Seite, Reiter Badges, schreibt den Shortcode für Sie.

Datenbanktabellen

Das kostenlose Plugin legt acht Tabellen mit dem Präfix {prefix}reportedip_hive_ an, in einem Netzwerk unter dem Basispräfix, damit jede Entscheidung netzwerkweit gilt. Schemaversion 25; jedes Update migriert Schritt für Schritt. Alle Zeiten sind UTC.

  • logs: Sicherheitsereignisse mit Details, Schweregrad und Website.
  • whitelist: vertrauenswürdige Adressen und Bereiche, auf Wunsch mit Ablaufdatum.
  • blocked: aktive Sperren (manuell, automatisch, Reputation, Gruppe) mit ihrem Ende.
  • attempts: Zähler je Adresse und Versuchsart.
  • api_queue: Meldungen, die auf die Community warten, mit Wiederholungen.
  • stats: Tagessummen für die Diagramme.
  • trusted_devices: 2FA-Gerätetokens als SHA-256-Hashes.
  • waf_exceptions: die Firewall-Ausnahmen.

Das Pro-Add-on ergänzt audit_log (Audit-Trail) und group_entries (Gruppenliste).

Konstanten

  • REPORTEDIP_HIVE_DISABLE_HIDE_LOGIN: schaltet Anmeldung verbergen aus der wp-config.php heraus ab, wenn Sie die Anmeldeseite nicht mehr erreichen.
  • REPORTEDIP_HIVE_DISABLE_FORM_PROOF: schaltet die Formularprüfung vollständig ab.

Ein Add-on bauen

Das kostenlose Plugin veröffentlicht eine Erweiterungs-API: die Action reportedip_hive_loaded, sobald es bereit ist, reportedip_hive_uninstall beim Entfernen und Filter für Einstellungen, Bereiche, Tabellen, geplante Aufgaben und die Funktionsliste. Das Pro-Add-on baut allein darauf auf. Quellcode und Changelog des Plugins liegen auf GitHub.

Zuletzt aktualisiert: · Betreut vom ReportedIP-Team

Security Focused
DSGVO-konform
Made in Germany
Zurück zur Doku