Voyez le SDK Zarex décider, requête par requête.
Cette démo embarque le vrai SDK. Rejouez une injection SQL, dépassez une limite de débit, soumettez un email jetable ou une injection de prompt : chaque verdict affiché est rendu par le moteur Zarex, avec le code exact à copier dans votre application.
import { NextResponse } from "next/server";
import { zarexNext, shield, rateLimit, detectBot } from "@zarex/next";
const guard = zarexNext({
key: process.env.ZAREX_KEY!,
ipSource: "vercel", // VPS derrière nginx : { header: "x-real-ip" }
rules: [
shield(),
detectBot({ deny: ["CATEGORY:AI"] }),
rateLimit({ max: 100, window: "1m" }),
],
});
export async function proxy(request: Request) {
return (await guard(request)) ?? guard.finalize(NextResponse.next(), request);
}Trois façons de l'intégrer
Le même client, la même décision — à l'endroit qui convient.
zarexNext()proxy.tsUn garde devant toute l'application : chaque requête est jugée avant d'atteindre vos pages et vos routes.
Voir en directwithZarex()route handlerEnveloppe une route précise, et surveille aussi sa réponse : fuites de données masquées, en-têtes de sécurité ajoutés.
Voir en directzarex.protect()où vous voulezL'appel direct : vous passez la donnée à vérifier (email, téléphone, message, jetons) et lisez la décision complète.
Ouvrir le playgroundNeuf règles à essayer
Chacune a ses scénarios prêts à l'emploi, ses options et son mode DRY_RUN.
shield()Pare-feu applicatif : injection SQL, XSS, traversée de répertoires…
EssayerrateLimit()Nombre maximal de requêtes par fenêtre de temps, par IP ou par utilisateur.
EssayertokenBucket()Budget de jetons avec pics autorisés (ex. appels à un modèle d'IA).
EssayerdetectBot()User-Agent connu + vérification DNS inversée (FCrDNS).
EssayerrequestFilter()Règles personnalisées sur IP, chemin, en-têtes, cookies, pays…
EssayersensitiveInfo()Détecte carte bancaire, clé API, JWT, mot de passe… dans le texte.
EssayeremailValidation()Email jetable, sans MX, mal formé…
EssayerphoneValidation()Numéro réel chez un opérateur (MTN, Moov, Orange, Wave…).
EssayerpromptInjection()Tentatives de manipuler un assistant IA (y compris Base64/ROT13).
Essayer