Descripción
SentraIP filters unwanted visitors before they reach your WordPress application layer. Blocking runs on the WordPress init hook, before your theme and most plugins load, and every lookup is performed locally against offline MMDB database files in your uploads directory — so no external request is made on normal page loads.
El plugin es gratuito y de código abierto (GPLv2 o posterior), mantenido por Move Forward Limited. Funciona nada más instalarlo y nunca se requiere cuenta ni plan de pago alguno para usarlo.
Qué bloquea
- Bloqueo por país (geolocalización) — bloquea visitantes por país. Descargas una base de datos gratuita de IP a país de un proveedor a tu elección (DB-IP, MaxMind GeoLite2 o IP2Location LITE); tu propio país de administrador y el país de tu servidor se excluyen automáticamente para que nunca te quedes bloqueado fuera.
- Bloqueo de bots — bloquea rastreadores, escáneres y herramientas de ataque conocidos (Googlebot, GPTBot, SemrushBot, AhrefsBot, ClaudeBot y muchos más) por User-Agent. También se pueden bloquear las solicitudes con User-Agent vacío o ausente.
- Bloqueo de IPs de comentarios spam — las IPs de los comentarios marcados como spam (manualmente, por acción masiva, o por Akismet) se bloquean automáticamente durante 24 horas. Esto no necesita ningún dato externo.
- Dataset gratuito de reputación SPAM (opcional) — descarga opcionalmente una base de datos gratuita de reputación IP de SPAM para bloquear fuentes de spam conocidas. Totalmente opcional, sin cuenta requerida.
- Lista blanca de IPs — las IPs y rangos CIDR aprobados nunca se bloquean, así puedes garantizar siempre tu propio acceso.
- Estadísticas y análisis de tráfico bloqueable — consulta lo que se ha bloqueado a lo largo del tiempo, y el tráfico permitido que coincide con un dataset para decidir qué empezar a filtrar.
- Simulador de bloqueo — prueba qué haría el bloqueador para cualquier IP / User-Agent, sin bloquear nada.
- Respuesta configurable — devuelve 403, 404, 410, 444 o 503 para las solicitudes bloqueadas.
- Compatible con proxy — detrás de Cloudflare o un proxy inverso, la IP real del visitante se detecta y usa automáticamente en cada comprobación.
- Diseñado para evitar bloqueos accidentales — la administración de WordPress (
/wp-admin),/wp-login.phpy/wp-register.phpnunca se bloquean, los usuarios conectados nunca se bloquean, y un interruptor de emergencia (WP_SENTRAIP_DISABLE_BLOCKING) puede desactivar todo el bloqueo desdewp-config.php. - Almacenamiento seguro — los archivos de base de datos se guardan en un subdirectorio de uploads protegido por
.htaccesseindex.php.
Datasets avanzados (complemento opcional)
Additional IP-reputation datasets — VPN, TOR, PROXY, THREAT and Datacenter blocking, per-provider VPN blocklists, and composed AND/OR rules — are available through a separate companion plugin, SentraIP PRO, which connects to a SentraIP account. This free plugin is fully functional on its own and never requires the add-on. See https://sentraip.com for details.
Cómo funciona
Choose a geolocation provider on the Geolocation page and download the country database (a monthly WordPress cron keeps it fresh). Configure your rules under Countries, Bots and Settings Blocking Controls. Every request is then checked locally against the offline database files — there is no per-request external call.
Servicios externos
Para mantener las búsquedas de visitantes rápidas y sin conexión, este plugin descarga archivos de base de datos de algunos servicios externos. Comprender qué servicios se contactan y qué datos se envían es importante para tu privacidad y cumplimiento legal. No se realiza ninguna solicitud externa en las cargas de página normales de los visitantes — solo cuando se descarga o actualiza una base de datos, y solo para las funciones que actives.
Free SPAM dataset (opt-in, no account required)
La versión gratuita puede descargar una base de datos de reputación SPAM de SentraIP para bloquear fuentes de spam conocidas. Esto es totalmente opcional y no requiere token de API ni cuenta.
- Para qué se usa: descargar y actualizar mensualmente la base de datos MMDB SPAM gratuita usada para el bloqueo.
- When data is sent: only after you enable the free SPAM dataset on the SentraIP Settings page. Nothing is downloaded on activation or without your consent, and no request is made on normal visitor page loads.
- Qué datos se envían: el nombre de host de tu sitio y una clave pública generada para tu instalación (usada para autorizar la descarga). El plugin genera un par de claves localmente, registra solo la clave pública con SentraIP (
app.sentraip.com), y firma cada solicitud de descarga; la clave privada nunca sale de tu servidor. No se envía ninguna dirección IP de visitante ni dato personal. - If you do not enable it: SPAM blocking still works — IP addresses from comments you mark as spam are blocked automatically, with no external request. The dataset is an optional enhancement, not a requirement.
- Sitio del servicio / términos: https://sentraip.com
- Política de privacidad: https://www.mforward.eu/privacy-policy/ (Términos: https://sentraip.com/plugin-terms-of-service/)
Compartir IPs de comentarios spam con SentraIP (opcional, desactivado por defecto)
Opcionalmente puedes permitir que SentraIP recopile las direcciones IP de los comentarios que marcas como spam, para ayudar a mejorar la protección de todos los sitios que usan SentraIP.
- Para qué se usa: contribuir con tus IPs de comentarios spam a los datos de reputación compartidos de SentraIP.
- When data is sent: only after you tick Share spam IPs with SentraIP on the SentraIP Settings page. It is off by default; with the box unticked nothing is ever shared and the feed endpoint refuses all requests.
- Qué datos se envían: solo las direcciones IP registradas de los comentarios que has marcado como spam (una ventana de ~15 días). No se envía el contenido del comentario, nombres de autor, correos electrónicos ni otros datos personales. SentraIP lee la lista mediante una solicitud autenticada firmada con su propia clave; tu sitio verifica esa firma antes de responder.
- Si no lo activas: el bloqueo de IPs de comentarios spam sigue funcionando localmente en tu sitio exactamente igual que antes — esta opción solo rige la compartición.
- Sitio del servicio / términos: https://sentraip.com
- Política de privacidad: https://www.mforward.eu/privacy-policy/ (Términos: https://sentraip.com/plugin-terms-of-service/)
Proveedores de base de datos de geolocalización (opcional)
Country blocking needs an IP geolocation database, which you download from one free third-party provider that you choose on the SentraIP Geolocation page. No provider is selected by default and no geolocation download happens until you explicitly opt in by choosing one. Once a provider is configured, its database is also refreshed automatically once a month by a WordPress cron job. The database is queried locally on your server; no visitor data is sent to these providers at request time.
- DB-IP (https://db-ip.com) — recomendado, sin registro. Descarga desde
download.db-ip.com. No se envía ninguna credencial. Términos: https://db-ip.com/tos.php - MaxMind GeoLite2 (https://www.maxmind.com) — requiere una cuenta gratuita. Descarga desde
download.maxmind.com; se envía tu clave de licencia de MaxMind para autenticar la descarga. Privacidad: https://www.maxmind.com/en/privacy-policy - IP2Location LITE (https://lite.ip2location.com) — requiere una cuenta gratuita. Descarga desde
www.ip2location.com; se envía tu token de descarga de IP2Location para autenticar la descarga. Términos: https://www.ip2location.com/terms
Consulta las notas de atribución a continuación para conocer las licencias de datos de cada proveedor.
Atribuciones
Según el proveedor de geolocalización que elijas, este producto incluye datos que requieren atribución:
- DB-IP: Geolocalización IP por DB-IP (https://db-ip.com), bajo licencia CC-BY 4.0.
- MaxMind: Este producto incluye datos GeoLite2 creados por MaxMind, disponibles en https://www.maxmind.com.
- IP2Location: Este producto usa datos de IP2Location LITE disponibles en https://lite.ip2location.com.
La librería MaxMind DB reader incluida se distribuye bajo la Apache License 2.0.
Los gráficos del administrador se generan mediante un pequeño renderizador SVG autónomo incluido con el plugin (admin/js/wp-sentraip-charts.js) — no se usa ninguna librería JavaScript de terceros para gráficos.
Capturas










Instalación
- In your WordPress admin go to Plugins Add New Upload Plugin.
- Choose the
sentraip.zipfile and click Install Now, then Activate. - Abre SentraIP Geolocalización, elige un proveedor gratuito de IP a país (DB-IP no requiere cuenta) y descarga la base de datos.
- Configure your blocking rules under Countries and Bots, and the master switches under Settings Blocking Controls.
- (Optional) On SentraIP Settings, enable the free SPAM reputation dataset.
Instalación manual: extrae la carpeta sentraip en /wp-content/plugins/ y actívalo desde el menú Plugins.
Requisitos: PHP 7.4+ y WordPress 6.8+. Las búsquedas de IP usan el lector MaxMind DB, incluido con el plugin.
FAQ
-
¿Es gratuito el plugin? ¿Necesito una cuenta?
-
El plugin es gratuito y de código abierto (GPLv2 o posterior) y totalmente funcional por sí solo. El bloqueo por país, el bloqueo de bots (con una amplia lista integrada), el bloqueo automático de IPs de comentarios spam, la lista blanca de IPs y el dataset gratuito opcional de reputación SPAM funcionan todos sin necesidad de cuenta alguna. Los datasets adicionales de reputación de IP (VPN, TOR, PROXY, THREAT, Datacenter y reglas compuestas) están disponibles a través del plugin complementario independiente SentraIP PRO, que se conecta a una cuenta de SentraIP — pero este plugin gratuito nunca lo requiere.
-
¿Esto bloqueará mi propio acceso?
-
No. The plugin auto-excludes your server’s country and your saved admin country. The WordPress admin area, the login page (
/wp-login.php) and the registration page are never blocked, and logged-in users are never blocked — so you can always sign in and fix a rule. As a last resort you can adddefine( 'WP_SENTRAIP_DISABLE_BLOCKING', true );towp-config.phpto disable all blocking. -
¿Qué ocurre si los archivos de base de datos aún no se han descargado?
-
El plugin omite sin problemas cualquier comprobación cuyo archivo de base de datos falte. Tu sitio sigue funcionando normalmente hasta que los archivos estén disponibles.
-
¿El plugin realiza solicitudes externas en cada carga de página?
-
No. Todas las búsquedas de IP se realizan contra archivos binarios de base de datos locales en tu directorio de uploads. Las conexiones externas solo se producen al descargar o actualizar un archivo de base de datos (con una programación mensual, o cuando lo activas manualmente) — la base de datos de geolocalización, o el dataset SPAM gratuito opcional.
-
¿Dónde se almacenan los archivos de base de datos?
-
En
wp-content/uploads/wp-sentraip/. El directorio está protegido por un.htaccess(Deny from all) y unindex.phppara evitar el acceso web directo. -
¿Es compatible con IPv6?
-
Sí. El plugin detecta si la IP del visitante es IPv4 o IPv6 y usa el archivo de base de datos correspondiente, cuando esa versión está disponible para el dataset.
-
¿Qué es el bloqueo de IPs de comentarios spam?
-
Cuando un comentario se marca como spam, se registra la IP del autor y se bloquea durante 24 horas. Esto funciona completamente en local, sin datos externos ni cuenta.
-
¿Cómo puedo recuperar el acceso si una regla me bloquea?
-
Open
/wp-login.phpand sign in — login and/wp-adminare never blocked. Then edit the rule that caught you and remove your country/datacenter/IP. If you cannot reach the admin at all, adddefine( 'WP_SENTRAIP_DISABLE_BLOCKING', true );towp-config.php.
Reseñas
Colaboradores y desarrolladores
«SentraIP» es un software de código abierto. Las siguientes personas han colaborado con este plugin.
Colaboradores«SentraIP» está traducido en 1 idioma. Gracias a los traductores por sus contribuciones.
Traduce «SentraIP» a tu idioma.
¿Interesado en el desarrollo?
Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.
Registro de cambios
1.1.7
- Nuevo asistente de configuración guiada: un «Asistente de configuración» paso a paso (también accesible en cualquier momento desde el menú de SentraIP) te guía a través de las protecciones gratuitas — descargar el dataset SPAM, activar la ayuda a la red, elegir un proveedor de geolocalización por país y los países a bloquear, y seleccionar qué bots bloquear (los motores de búsqueda y los rastreadores de IA comunes se dejan activados por defecto). En una instalación nueva se te lleva a él automáticamente, y se muestra un recordatorio hasta que se completa. Cada paso se puede omitir y configurar más tarde.
- Dataset downloads now show explicit confirmation: a clear «downloaded and installed» message with the file size, and an «already installed» note (with size) when a dataset is already present.
- Refuerzo de seguridad: las cachés en disco de nombres/lista blanca ahora se deserializan con la instanciación de objetos desactivada (allowed_classes => false), como defensa en profundidad. Sin cambios funcionales.
1.1.6
- All statistics features now work for everyone: the configurable retention, the «Clear all statistics» reset, the full CSV export and the high-rate non-blocked traffic view are no longer restricted — they record and run locally on your own site, so they are part of the free plugin.
- Fixed the Privacy Policy and Terms links and the third-party provider links in the readme, which pointed to pages that returned a 404.
- SentraIP ahora puede leer de forma fiable el feed de IPs de comentarios spam incluso si su propia dirección resulta estar en la lista de bloqueo del sitio: las solicitudes realmente firmadas por SentraIP (Ed25519, verificadas frente a una clave pública obtenida del servicio y almacenada en caché) omiten el bloqueo y autorizan el endpoint del feed. Funciona con o sin una cuenta de SentraIP.
- Added an explicit opt-in (Settings Security) to share the IPs of comments you mark as spam with SentraIP to improve protection for everyone. It is off by default; with it disabled nothing is shared and the feed endpoint refuses all requests.
1.1.4
- Statistics: the Blockable-Traffic timeline query now passes its LIKE pattern through a bound parameter (esc_like), completing the prepared-SQL hardening. No functional change.
1.1.3
- Statistics queries now use $wpdb->prepare() with the %i identifier placeholder for table names, fully parameterising every custom query (WordPress.org prepared-SQL compliance). No functional change.
1.1.2
- Cumplimiento de los estándares de código de WordPress.org: sustituidas las llamadas al sistema de archivos desaconsejadas por las APIs de WordPress (wp_delete_file(), WP_Filesystem::move()), sustituido mt_rand() por wp_rand(), saneada toda la entrada de solicitudes en línea, prefijadas las variables globales de desinstalación, y auditadas las consultas de la tabla de estadísticas. Sin cambios funcionales.
1.1.1
- Fixed the Statistics hourly drill-down (click a day bar) always showing «No data»: the hourly rows were matched against formatted «HH:00» labels instead of the raw hour numbers stored in the database, so no bar was ever drawn.
- La caché diaria de gráficos/insights ahora se borra completamente al actualizar (incluidas las entradas de desglose por día), de modo que una actualización del plugin nunca sirve datos generados por la versión anterior.
- Probado hasta WordPress 7.1.
1.1.0
- SentraIP is now a standalone free plugin: it blocks by country, known bots and custom User-Agent strings, spam-comment IPs (24h), and an opt-in free SPAM reputation dataset — no account required. The paid datasets (VPN, TOR, PROXY, THREAT, Datacenter and composed rules) moved to the separate SentraIP PRO add-on.
- Free SPAM dataset: the download now succeeds when the IPv4 file is fetched (the dataset is published as IPv4-only); a missing per-version file is treated as «not published yet» instead of an error.
- Reconstruido el proceso de bloqueo en torno a una arquitectura de extensiones: cada tipo de bloqueo es una extensión autónoma evaluada por un proceso de recopilación total.
- La lista blanca de IPs (las IPs/rangos aprobados nunca se bloquean) ahora está disponible para todos.
- Las tareas programadas se reconcilian automáticamente después de una actualización in situ — no es necesario desactivar/reactivar el plugin para aplicar las nuevas tareas cron añadidas.
- Added a link to sentraip.com on the Dashboard and Settings pages so you can discover the optional SentraIP PRO add-on (shown only when PRO is not installed).
- Replaced the bundled Chart.js library with a small self-contained SVG chart renderer, removing a large minified third-party bundle from the plugin.
1.0.25
- Corregido que el plan ULTRA se tratara como un nivel inferior para las estadísticas avanzadas: dado que ULTRA incluye todo lo de PRO, las cuentas ULTRA ahora obtienen correctamente las estadísticas granulares (por hora + tasa), los ajustes de retención, la acción de reinicio, la exportación completa de datos y la vista mejorada de país por continente/región/ciudad — anteriormente esto solo se mostraba a PRO y los usuarios ULTRA se degradaban a la vista gratuita. La exportación de estadísticas ahora también indica el nombre real del plan.
- Sustituidas todas las llamadas directas a cURL en el propio código del plugin por la API HTTP de WordPress (wp_remote_get) para las descargas de datasets, las comprobaciones de resolución y la descarga de la base de datos de geolocalización.
- Trasladado el
<script>en línea restante del administrador (datos de reglas Ultra) a wp_add_inline_script(). - Reforzada la validación de la lista blanca de IPs: las longitudes de prefijo CIDR ahora se comprueban según la familia de direcciones (/32 máx. para IPv4, /128 máx. para IPv6), de modo que se rechazan rangos no válidos como 192.0.2.1/64.
- Eliminada la llamada explícita a load_plugin_textdomain(); WordPress carga las traducciones del plugin automáticamente.
- Los archivos de traducción (.po/.mo) ya no se incluyen — las traducciones se entregan a través de translate.wordpress.org; solo se incluye la plantilla .pot para los traductores.
- Actualizada la librería Chart.js incluida a la versión 4.5.1.
1.0.24
- Fixed Datacenter blocking: the whitelist is now honoured. When Datacenter blocking is enabled in Settings, datacenter IPs are blocked unless their provider name is on the Datacenter whitelist (or belongs to the server’s own datacenter). The check now reads the «full» datacenter dataset (v4 and v6 when installed) as the single source of truth for both membership and the provider name — so the blocker and the dashboard Blocker Simulator behave identically. Previously the name was read from the flag-only «light» file, so the whitelist never matched and every datacenter IP was blocked.
- Fixed inconsistent Datacenter blocking between IPv4 and IPv6: when a datacenter IP’s provider name cannot be resolved (e.g. an IPv6 address with no «full» IPv6 dataset), the whitelist cannot be applied, so the request is now allowed instead of being silently blocked. This makes IPv6 behave like IPv4 for whitelisted providers.
- The downloader now also fetches the «full» IPv6 datasets for VPN and Datacenter when the SentraIP API publishes them, so provider/datacenter names can be resolved for IPv6 clients and the whitelist works fully on IPv6. Previously only the «full» IPv4 file was downloaded.
- Cumplimiento de las directrices del directorio de plugins de WordPress.org:
- Renamed the plugin to «SentraIP» (text domain «sentraip») so the name and directory slug no longer begin with the reserved term «wp».
- Documentado el modelo freemium: el plugin es GPL y gratuito; los datasets TOR y SPAM están disponibles en la cuenta gratuita de SentraIP, otros datasets en planes de pago. La cuenta gratuita ahora concede los datasets TOR y SPAM por defecto.
- Removed the duplicate TOR/SPAM/PROXY/THREAT toggles from the Rules page; these are managed under Settings Blocking Controls.
- Added leakix, the l9 scanner family and many other scanner/attack tool signatures to the default bot list.
- Chart.js ahora se incluye con el plugin y se sirve localmente en lugar de cargarse desde una CDN externa.
- La geolocalización ahora es totalmente opcional: no hay ningún proveedor seleccionado por defecto y no se descarga ninguna base de datos de geolocalización de terceros hasta que eliges un proveedor en la página de Geolocalización.
- Expanded the «External services» documentation: geolocation download hosts (DB-IP, MaxMind, IP2Location), when they are contacted, and which credentials are sent; documented the optional spam-IP REST feed.
- Añadidos avisos de licencia Apache-2.0 a los archivos del lector MaxMind DB incluidos.
- Reducido el lector MaxMind incluido a la librería en PHP puro realmente usada en tiempo de ejecución: la compilación ahora excluye el código fuente de la extensión nativa en C, sus pruebas .phpt y los metadatos del paquete (no se incluyen herramientas de desarrollo), manteniendo todos los archivos LICENSE/NOTICE requeridos.
- Corregido el plan STARTER para conceder TOR, SPAM y PROXY, en concordancia con los planes oficiales de SentraIP.
- Updated «Requires at least» (6.8) and «Tested up to» (7.0).
1.0.23
- Fixed the VPN and Datacenter provider lists, which were empty: provider/datacenter names live only in the
fulldataset (fields vpn_provider / organization), while thelightfile used for blocking carries just a membership flag. The plugin now downloads thefullv4 file for VPN and Datacenter and enumerates names from it (IPv4 only).
1.0.22
- Añadidos el readme.txt requerido y un archivo LICENSE GPLv2 completo para el directorio de plugins de WordPress.org.
- Reforzado el escapado de salida en todas las páginas de administración y cambiadas las consultas de desinstalación a sentencias preparadas.
- Claves de caché con espacio de nombres (transients) y limpieza completa de cron al desinstalar.
- Eliminadas las páginas de administración no utilizadas y sus manejadores/recursos obsoletos.
1.0.21
- Arquitectura basada en datasets: las páginas de bloqueo y configuración ahora siguen los datasets que concede tu token, no el nombre del plan.
- Retención por derecho: los archivos de base de datos instalados para los datasets concedidos nunca se eliminan cuando un listado está vacío o incompleto.
- El descargador lee las versiones de IP disponibles (
ip_versions) y solo obtiene los archivos que existen. - Retención configurable (7–90 días, 30 por defecto) para los datos de Tráfico bloqueable.
- Ajustes: eliminados los cuadros «Servicios externos» y «API de SentraIP».
- Recuperación:
/wp-admin,/wp-login.phpy/wp-register.phpnunca se bloquean, incluso cuando tu IP está en una lista de bloqueo; el frontend del sitio permanece protegido. - Traducciones al italiano, español, francés y alemán actualizadas.
1.0.9
- Página de Tráfico bloqueable (Insights), Simulador de bloqueo, sección de recuperación y traducciones.
1.0.2
- Recolector de IPs de comentarios spam — bloquea las IPs de los comentarios spam durante 24 horas.
- Endpoint REST de depuración para probar el proceso de bloqueo.
- La comprobación de bots ahora bloquea las solicitudes con User-Agent vacío o ausente.
1.0.0
- Primera versión: bloqueo por país y bots, datasets de reputación, bloqueo de VPN/Datacenter, reglas compuestas, panel de estadísticas e internacionalización.
