Shield

Blipit Shield individua forza bruta, credential stuffing, scanner e tentativi di injection sul server e, quando lo decidi tu, li blocca dentro la tua app. Gli SDK per Node e Next.js e il modulo Odoo scaricano solo l'elenco deciso da Blipit e lo applicano. Shield resta spento finché non lo attivi per un progetto.

1Node.js

Aggiungi il middleware prima delle tue route, con la chiave segreta. Dietro un proxy o un load balancer, imposta trustProxy sul numero di proxy davanti all'app. actor restituisce l'account a cui qualcuno sta accedendo, così vengono rifiutati anche gli account bloccati. Fastify: app.addHook("onRequest", shield.fastify).

js
import * as Blipit from "@blipit/node";
import express from "express";

const app = express();
app.use(express.json());
app.use(Blipit.shield({ trustProxy: 1, actor: (req) => req.body?.email }));

2Next.js

Avvolgi il tuo middleware.ts. Gira sul runtime Edge e legge BLIPIT_SECRET_KEY. Per mantenere il tuo middleware, passalo: withBlipitShield(yourMiddleware).

ts
import { withBlipitShield } from "@blipit/nextjs/shield";

export const middleware = withBlipitShield();

3Odoo

Niente da aggiungere. Dalla versione 1.18.14 del modulo, Odoo applica lo stesso elenco su ogni pagina e a ogni accesso quando Shield è attivo.

4Come si comporta

  • IP e account bloccati ricevono 403 con un breve messaggio di testo; i limiti di accesso rispondono 429 con Retry-After.
  • L'elenco si aggiorna ogni 30 secondi in background, quindi una richiesta non aspetta mai Blipit. Se Blipit non è raggiungibile, resta valido l'ultimo elenco.
  • In modalità test non si blocca nulla; Blipit conta cosa sarebbe stato bloccato.
  • Una volta al minuto la tua app invia quante volte è scattato ogni blocco e, finché Shield è attivo, un piccolo campione di richieste: percorso, metodo, stato, IP, user agent e query string senza segreti. Header, cookie, password e corpi delle richieste non vengono mai inviati.

Bloccato? Scrivi a support@blipit.io. Le chiavi e l'id di ogni progetto sono sotto Chiavi API in app.blipit.io.