Issue e avvisi
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).
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).
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.