Signup Gate
Una etiqueta script en tu formulario de registro, una comprobación en tu servidor. Bots, correos desechables, dominios muertos y registros por Tor o VPN quedan al descubierto. Las erratas como gmial.com reciben una corrección.
Crea tu cuenta
Safari 18 · iPhoneCorreo
Contraseña
Cuenta creada
Qué se comprueba
La red y el navegador llegan con el token. El email llega con la llamada verify de tu servidor.
Direcciones de Tor, VPN, proxy residencial y hosting, con su clase.
Navegadores headless y scripts que rellenan formularios para bots.
Sintaxis errónea, dominios que no reciben correo, buzones desechables, erratas y direcciones de rol.
Cómo funciona
El mismo gate de formulario que pondrías en cualquier formulario, con la dirección añadida a la comprobación.
gate.jsUna etiqueta script en tu página de registro, con tu clave de sitio.
<script
src="https://ipscanner.io/gate.js"
data-sitekey="site_4fQ8nZ2kLm7xR1vT9cBw"
async></script>gate.js añade un campo oculto ipscanner-token. Sin cookies ni almacenamiento del navegador.
<form method="post" action="/signup">
<input name="email" type="email">
<input name="password" type="password">
<!-- added by gate.js -->
<input type="hidden"
name="ipscanner-token"
value="c2l0ZV80ZlE4fDE3…">
</form>Tu servidor envía el token y la dirección a /v1/gate/verify y recibe una respuesta.
{
"success": true,
"class": "human",
"action": "flag",
"mode": "enforce",
"email": {
"status": "risky",
"reason": "typo",
"suggestion": "jane@gmail.com",
"domain": "gmial.com",
"action": "flag"
}
}Las direcciones desechables y no válidas se bloquean por defecto. Las erratas se marcan para que puedas ofrecer la corrección.
La comprobación
Envía email con el token. Rechaza el registro cuando action sea block en modo enforce, y muestra email.suggestion cuando exista.
// token = the form's "ipscanner-token" field, ip = the visitor's address
// email = the address the form submitted
const res = await fetch('https://ipscanner.io/v1/gate/verify', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ secret: process.env.IPSCANNER_GATE_SECRET, token, remote_ip: ip, email })
});
const v = await res.json();
if (!v.success || (v.action === 'block' && v.mode === 'enforce')) {
// reject the signup; v.email.suggestion holds "did you mean" when there is one
}Primero observa, luego bloquea
En modo monitor no se rechaza nada. El panel Sites muestra cada registro con su clase, el resultado del email y lo que habría pasado.
FAQ
Crea un gate con los emails de registro activados, pega una etiqueta script y añade la comprobación. Free funciona en modo monitor; Starter bloquea, desde 17,99 €/mes.
¿No es un formulario de registro? El gate de formulario sirve para cualquier formulario