{"id":6937,"date":"2026-11-10T10:34:00","date_gmt":"2026-11-10T09:34:00","guid":{"rendered":"https:\/\/wpmastertoolkit.com\/module\/captcha-on-login-form\/"},"modified":"2026-11-10T11:23:26","modified_gmt":"2026-11-10T10:23:26","slug":"captcha-on-login-form","status":"publish","type":"module","link":"https:\/\/wpmastertoolkit.com\/es\/module\/captcha-en-el-formulario-de-inicio-de-sesion\/","title":{"rendered":"Captcha en el formulario de acceso"},"content":{"rendered":"<h1 class=\"wp-block-heading\">M\u00f3dulo Captcha en el formulario de inicio de sesi\u00f3n: una pregunta de c\u00e1lculo local para evitar los robots<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Los formularios de inicio de sesi\u00f3n, de recuperaci\u00f3n de contrase\u00f1a y de registro de WordPress son objetivos preferidos de los bots. El m\u00f3dulo <strong>Captcha en el formulario de acceso<\/strong> WPMasterToolKit a\u00f1ade a estos tres formularios nativos una sencilla pregunta de suma (\u00ab\u00bfCu\u00e1nto es 3 + 2?\u00bb), generada y verificada en tu servidor, sin necesidad de servicios de terceros. El m\u00f3dulo es gratuito; el modo adaptativo est\u00e1 reservado a la versi\u00f3n Pro.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"450\" height=\"540\" src=\"https:\/\/wpmastertoolkit.com\/wp-content\/uploads\/2026\/11\/wpmtk-captcha-login-form.webp\" alt=\"Captcha en el formulario de inicio de sesi\u00f3n: pregunta aritm\u00e9tica en el formulario de inicio de sesi\u00f3n de WordPress\" class=\"wp-image-6949\" srcset=\"https:\/\/wpmastertoolkit.com\/wp-content\/uploads\/2026\/11\/wpmtk-captcha-login-form.webp 450w, https:\/\/wpmastertoolkit.com\/wp-content\/uploads\/2026\/11\/wpmtk-captcha-login-form-250x300.webp 250w, https:\/\/wpmastertoolkit.com\/wp-content\/uploads\/2026\/11\/wpmtk-captcha-login-form-10x12.webp 10w\" sizes=\"(max-width: 450px) 100vw, 450px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfA qu\u00e9 plugin puede sustituir este m\u00f3dulo?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Sustituye a las extensiones de captcha matem\u00e1tico como <strong>CAPTCHA realmente sencillo<\/strong> o <strong>Captcha de matem\u00e1ticas<\/strong> en la p\u00e1gina de inicio de sesi\u00f3n de WordPress. No es equivalente a reCAPTCHA, hCaptcha ni Turnstile: no realiza an\u00e1lisis de comportamiento y solo protege los formularios nativos de WordPress (no los de WooCommerce ni los de los creadores de formularios). A\u00f1ade una sencilla barrera que complementa, sin sustituirla, una limitaci\u00f3n de los intentos de inicio de sesi\u00f3n como nuestro m\u00f3dulo \u00abLimit Login Attempts\u00bb.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Caracter\u00edsticas principales<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Tres formularios protegidos<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Formulario de inicio de sesi\u00f3n:<\/strong> el formulario de inicio de sesi\u00f3n (nombre de usuario y contrase\u00f1a).<\/li>\n\n\n\n<li><strong>Formulario de recuperaci\u00f3n de contrase\u00f1a:<\/strong> la solicitud por correo electr\u00f3nico para restablecer la contrase\u00f1a.<\/li>\n\n\n\n<li><strong>Formulario de inscripci\u00f3n:<\/strong> el formulario de inscripci\u00f3n propio, si las inscripciones est\u00e1n abiertas en tu p\u00e1gina web.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Cada formulario se activa por separado. El enlace \u00abNew question\u00bb ofrece otro c\u00e1lculo, y el captcha tambi\u00e9n funciona sin JavaScript.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Dos modos de protecci\u00f3n<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Requisitos imprescindibles:<\/strong> La pregunta aparece siempre en los formularios protegidos.<\/li>\n\n\n\n<li><strong>Adaptive (Pro):<\/strong> La pregunta solo aparece cuando la actividad reciente parece sospechosa. Los visitantes leg\u00edtimos inician sesi\u00f3n sin problemas, mientras que los intentos repetidos dan lugar a la pregunta.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Ajustes del modo adaptativo (Pro)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">El modo adaptativo contabiliza los intentos fallidos y los env\u00edos de formularios durante un breve periodo de tiempo, por separado para cada navegador y cada direcci\u00f3n IP. En cuanto se alcanza un umbral, la pregunta pasa a ser obligatoria durante un periodo de tiempo definido. Todos los umbrales son ajustables:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Per\u00edodo de contabilizaci\u00f3n de actividades:<\/strong> Duraci\u00f3n del periodo de recuento (5 minutos por defecto).<\/li>\n\n\n\n<li><strong>Preguntas obligatorias para:<\/strong> tiempo durante el cual la pregunta sigue siendo obligatoria tras una actividad sospechosa (15 minutos por defecto).<\/li>\n\n\n\n<li><strong>Intentos fallidos de inicio de sesi\u00f3n desde un navegador \/ desde una direcci\u00f3n IP:<\/strong> N\u00famero de intentos fallidos de conexi\u00f3n permitidos (3 por navegador y 5 por direcci\u00f3n IP, por defecto).<\/li>\n\n\n\n<li><strong>L\u00edmites de solicitudes:<\/strong> N\u00famero de env\u00edos del formulario de inicio de sesi\u00f3n (10), de solicitudes de restablecimiento de contrase\u00f1a (3), de registros (3) y de solicitudes de c\u00f3digo de doble autenticaci\u00f3n (3).<\/li>\n\n\n\n<li><strong>Tiempo de la prueba:<\/strong> Un formulario enviado demasiado r\u00e1pido (menos de 1 500 ms por defecto) se considera sospechoso y activa la pregunta antes de lo previsto.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1352\" height=\"630\" src=\"https:\/\/wpmastertoolkit.com\/wp-content\/uploads\/2026\/11\/wpmtk-captcha-adaptive-settings.webp\" alt=\"Captcha en el formulario de inicio de sesi\u00f3n Pro: ajustes del modo adaptativo (periodos, intentos fallidos de inicio de sesi\u00f3n)\" class=\"wp-image-6950\" srcset=\"https:\/\/wpmastertoolkit.com\/wp-content\/uploads\/2026\/11\/wpmtk-captcha-adaptive-settings.webp 1352w, https:\/\/wpmastertoolkit.com\/wp-content\/uploads\/2026\/11\/wpmtk-captcha-adaptive-settings-300x140.webp 300w, https:\/\/wpmastertoolkit.com\/wp-content\/uploads\/2026\/11\/wpmtk-captcha-adaptive-settings-1024x477.webp 1024w, https:\/\/wpmastertoolkit.com\/wp-content\/uploads\/2026\/11\/wpmtk-captcha-adaptive-settings-768x358.webp 768w, https:\/\/wpmastertoolkit.com\/wp-content\/uploads\/2026\/11\/wpmtk-captcha-adaptive-settings-18x8.webp 18w\" sizes=\"(max-width: 1352px) 100vw, 1352px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfC\u00f3mo se utiliza este m\u00f3dulo?<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Activar <strong>Captcha en el formulario de acceso<\/strong> en WPMasterToolKit y, a continuaci\u00f3n, abre <strong>WPMasterToolkit &gt; Captcha en el formulario de inicio de sesi\u00f3n<\/strong>.<\/li>\n\n\n\n<li>Elige el modo \u00abAlways require\u00bb o, en la versi\u00f3n Pro, \u00abAdaptive\u00bb.<\/li>\n\n\n\n<li>Marca los formularios que quieras proteger.<\/li>\n\n\n\n<li>En el modo adaptativo, ajusta los periodos y los umbrales si es necesario y, a continuaci\u00f3n, haz clic en \u00abGuardar\u00bb.<\/li>\n\n\n\n<li>Abre tu p\u00e1gina de inicio de sesi\u00f3n en una ventana privada para comprobar c\u00f3mo se muestra la pregunta.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Nuestras opciones t\u00e9cnicas<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>100 % local:<\/strong> No se realiza ninguna llamada a un servicio externo, por lo que no se transmiten datos de tus visitantes a terceros.<\/li>\n\n\n\n<li><strong>Preguntas de uso \u00fanico:<\/strong> Cada pregunta est\u00e1 vinculada al navegador mediante una cookie t\u00e9cnica, caduca al cabo de 10 minutos y solo se puede intentar una vez. Solo se almacena una huella (HMAC) en una tabla espec\u00edfica que el cron borra cada hora.<\/li>\n\n\n\n<li><strong>L\u00edmites integrados contra el uso indebido:<\/strong> El n\u00famero de consultas generadas, respuestas y errores est\u00e1 limitado por direcci\u00f3n IP durante 5 minutos. Los filtros <code data-no-auto-translation=\"\">wpmastertoolkit_captcha_issue_limit<\/code>, <code data-no-auto-translation=\"\">wpmastertoolkit_captcha_validate_limit<\/code>, <code data-no-auto-translation=\"\">wpmastertoolkit_captcha_failure_limit<\/code>, <code data-no-auto-translation=\"\">wpmastertoolkit_captcha_activity_limit<\/code> y <code data-no-auto-translation=\"\">wpmastertoolkit_captcha_cancel_limit<\/code> permiten ajustar esos l\u00edmites m\u00e1ximos.<\/li>\n\n\n\n<li><strong>Mensajes de error gen\u00e9ricos,<\/strong> que nunca revelan si existe una cuenta.<\/li>\n\n\n\n<li><strong>Accesibilidad:<\/strong> campo etiquetado, teclado num\u00e9rico del m\u00f3vil, mensajes anunciados por los lectores de pantalla.<\/li>\n\n\n\n<li><strong>Compatible con los dem\u00e1s m\u00f3dulos de WPMasterToolKit:<\/strong> Una respuesta incorrecta al captcha no se cuenta como un intento fallido en \u00abLimit Login Attempts\u00bb; la autenticaci\u00f3n de dos factores (Pro) comprueba el captcha antes de enviar un c\u00f3digo por correo electr\u00f3nico, y el captcha funciona con \u00abMove Login URL\u00bb y \u00abCustom Login Design\u00bb.<\/li>\n\n\n\n<li><strong>Los accesos a trav\u00e9s de la API no se ven afectados:<\/strong> Las contrase\u00f1as de las aplicaciones, XML-RPC y la API REST no pasan por los formularios protegidos.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Informaci\u00f3n \u00fatil<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Si utilizas un proxy inverso o una CDN, configura tu servidor para que transmita la direcci\u00f3n IP real de los visitantes; de lo contrario, todos compartir\u00e1n la misma IP y, por lo tanto, las mismas limitaciones.<\/li>\n\n\n\n<li>Excluye la p\u00e1gina de inicio de sesi\u00f3n y las solicitudes AJAX de tu cach\u00e9 de p\u00e1ginas.<\/li>\n\n\n\n<li>Mant\u00e9n activa la limitaci\u00f3n del n\u00famero de intentos de inicio de sesi\u00f3n: el c\u00e1lculo supone un obst\u00e1culo para los bots sencillos, pero no es una verificaci\u00f3n infalible.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusi\u00f3n<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Captcha on login form protege los formularios nativos de WordPress sin depender de ning\u00fan servicio externo ni realizar un seguimiento de tus visitantes. El modo \u00abAlways require\u00bb est\u00e1 disponible de forma gratuita; el modo adaptativo de la versi\u00f3n Pro solo molesta a tus usuarios cuando es necesario.<\/p>","protected":false},"excerpt":{"rendered":"<p>El m\u00f3dulo \u00abCaptcha on login form\u00bb de WPMasterToolKit a\u00f1ade una pregunta de suma, generada localmente sin necesidad de servicios de terceros, a los formularios nativos de inicio de sesi\u00f3n, de recuperaci\u00f3n de contrase\u00f1a y de registro de WordPress. En la versi\u00f3n Pro, el modo adaptativo solo muestra la pregunta en caso de actividad sospechosa, con umbrales ajustables.<\/p>","protected":false},"featured_media":0,"parent":0,"template":"","meta":{"_acf_changed":false,"_surecart_dashboard_logo_width":"180px","_surecart_dashboard_show_logo":true,"_surecart_dashboard_navigation_orders":true,"_surecart_dashboard_navigation_invoices":true,"_surecart_dashboard_navigation_subscriptions":true,"_surecart_dashboard_navigation_downloads":true,"_surecart_dashboard_navigation_saved":true,"_surecart_dashboard_navigation_billing":true,"_surecart_dashboard_navigation_account":true},"wpmtk_module_category":[],"class_list":["post-6937","module","type-module","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/wpmastertoolkit.com\/es\/wp-json\/wp\/v2\/module\/6937","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpmastertoolkit.com\/es\/wp-json\/wp\/v2\/module"}],"about":[{"href":"https:\/\/wpmastertoolkit.com\/es\/wp-json\/wp\/v2\/types\/module"}],"wp:attachment":[{"href":"https:\/\/wpmastertoolkit.com\/es\/wp-json\/wp\/v2\/media?parent=6937"}],"wp:term":[{"taxonomy":"wpmtk_module_category","embeddable":true,"href":"https:\/\/wpmastertoolkit.com\/es\/wp-json\/wp\/v2\/wpmtk_module_category?post=6937"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}