Hooks y API para desarrolladores
Acciones y filtros estables para webhooks, integraciones SIEM y código propio, la comprobación de formularios para tus propios formularios, las rutas REST de la 2FA, los shortcodes y las tablas de la base de datos. Todo lo de esta página pertenece al plugin gratuito, salvo que una línea diga lo contrario.
Acciones
reportedip_hive_threshold_exceeded( $ip, $event_type, $details ): una vez por cada detección confirmada de un sensor, sean cuales sean los ajustes de bloqueo y de reporte. El sitio para un SIEM.reportedip_hive_ip_blocked( $ip, $reason, $blocked_until ): se bloqueó una dirección;$blocked_untiles una fecha y hora UTC onullpara un bloqueo permanente.reportedip_hive_ip_unblocked( $ip ): se levantó un bloqueo.reportedip_hive_report_queued( $ip, $category_ids, $report_type ): un reporte entró en la cola, tras las comprobaciones de espera y de duplicados; IDs de categoría separados por comas,negativeopositive.reportedip_hive_access_denied( $ip, $context ): justo antes de la página de bloqueo 403. Los rechazos de la protección previa a WordPress terminan antes y no llegan aquí.reportedip_hive_2fa_verified( $user_id, $method, $context ): se superó un segundo factor, en wp-login y en la ruta REST. Elwp_logindel núcleo también se dispara ahí.reportedip_hive_2fa_method_enabled( $user_id, $method ): un método 2FA se activó para un usuario.reportedip_hive_mode_changed( $old, $new )yreportedip_hive_tier_changed( $old, $new ): cambió el modo de funcionamiento o el plan.
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 );
Filtros
reportedip_hive_rest_bypass_routes( $routes ): prefijos REST que omite el sensor de ráfagas, por ejemplo un plugin de consentimiento propio.reportedip_hive_rest_sensitive_routes( $routes ): rutas REST que el sensor de ráfagas vigila más de cerca.reportedip_hive_scan_paths( $paths )yreportedip_hive_decoy_paths( $paths ): amplían las listas de rutas de sondeo y rutas cebo.reportedip_hive_waf_bypass_routes( $routes ): rutas REST que omite el motor, comparadas como prefijo anclado de la ruta resuelta. Para un solo falso positivo, mejor una excepción en la administración.reportedip_hive_bot_allowlist_patterns( $patterns ): patrones de user agent de rastreadores que se verifican en lugar de tratarse como escáneres.reportedip_hive_event_category_map( $map ): con qué categoría comunitaria se reporta un tipo de evento.reportedip_hive_reputation_block_hours( 24 ): duración del bloqueo local tras un acierto de reputación.reportedip_hive_reputation_threshold_floor( 25 ): eleva el mínimo por debajo del nivel de protección; no se puede bajar.reportedip_hive_blocked_page_strings( $strings, $context ): los textos de la página de bloqueo (doc_title,title,message,reason).reportedip_hive_external_url( $url, $context ): sustituye las direcciones de reportedip.com que enlaza el plugin, como la ficha de la IP o el feed de noticias.reportedip_hive_mail_provider( $provider ): tu propio proveedor de correo, que implementainterface-mail-provider.php.reportedip_2fa_bypass( false, $user ): omite el segundo factor para un usuario; el step-up adaptativo también lo respeta.reportedip_hive_webauthn_rp_id,reportedip_hive_webauthn_allowed_origins,reportedip_hive_webauthn_user_verification: relying party, orígenes y verificación de usuario de las passkeys.reportedip_hive_form_proof_adaptersyreportedip_hive_reputation_form_surfaces: los formularios que cubren la comprobación de formularios y la comprobación comunitaria.reportedip_hive_tor_block_hours( 24 ): duración de un bloqueo de Tor, complemento Pro.
La comprobación de formularios para tus propios formularios
Un formulario de contacto, de reservas o de cualquier plugin puede usar la comprobación invisible en lugar de un CAPTCHA. Registra el formulario como superficie, imprime el campo donde se muestra el formulario y pide el veredicto donde se valida:
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 ) rechaza en modo estricto un envío sin el campo; pasa
false mientras todavía se puedan servir páginas de una caché antigua. check( $surface )
devuelve el propio veredicto. La página no lleva nada específico de la solicitud, así que las cachés de página
siguen funcionando.
Rutas REST de la 2FA
Para apps y front-ends headless, namespace reportedip-hive/v1:
POST /2fa/challenge: nombre de usuario y contraseña; responde con un token de desafío y los métodos del usuario. 20 solicitudes cada 5 minutos por dirección.POST /2fa/verify: token, método y código; establece la cookie de autenticación. 30 solicitudes cada 5 minutos por dirección.GET /2fa/methods: los métodos activos del usuario con sesión iniciada.
El complemento Pro añade una ruta para las tareas de la prueba de cálculo y las rutas firmadas de la gestión de flota; ninguna está pensada para llamarse desde tu propio código.
Shortcodes
Cada shortcode muestra el mismo componente web <rip-hive-banner> con cifras de una caché de seis
horas.
[reportedip_badge]: insignia pequeña, tonoprotect.[reportedip_stat]: una sola cifra, tonotrust.[reportedip_banner]: banner ancho, tonocommunity.[reportedip_shield]: escudo, tonoprotect.
Atributos: 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. El
generador de banners de la página Community, pestaña Badges, escribe el shortcode por ti.
Tablas de la base de datos
El plugin gratuito crea ocho tablas con el prefijo {prefix}reportedip_hive_, en una red bajo el
prefijo base, así que cada decisión se aplica a toda la red. Versión de esquema 25; cada actualización migra paso a
paso. Todas las horas están en UTC.
logs: eventos de seguridad con detalles, gravedad y sitio.whitelist: direcciones y rangos de confianza, opcionalmente con caducidad.blocked: bloqueos activos (manual, automático, reputación, grupo) con su fin.attempts: contadores por dirección y tipo de intento.api_queue: reportes a la espera de la comunidad, con reintentos.stats: totales diarios para los gráficos.trusted_devices: tokens de dispositivos 2FA como hashes SHA-256.waf_exceptions: las excepciones del cortafuegos.
El complemento Pro añade audit_log (registro de auditoría) y group_entries (lista del grupo).
Constantes
REPORTEDIP_HIVE_DISABLE_HIDE_LOGIN: desactiva Hide Login desdewp-config.phpcuando ya no llegas a la página de inicio de sesión.REPORTEDIP_HIVE_DISABLE_FORM_PROOF: desactiva por completo la comprobación de formularios.
Crear un complemento
El plugin gratuito publica una API de extensión: la acción reportedip_hive_loaded cuando está listo,
reportedip_hive_uninstall al eliminarlo, y filtros para ajustes, secciones, tablas, tareas
programadas y la lista de funciones. El complemento Pro está construido solo sobre ella. El código fuente del
plugin y su changelog están en
GitHub.
Última actualización: · Mantenido por el equipo de ReportedIP