SilentShield este o alternativă CAPTCHA invizibilă și conformă cu GDPR pentru aplicațiile React și Next.js. Încărcați un script de client ușor, obțineți un token și îl verificați pe server cu pachetul @forge12interactive/silentshield-sdk-js și o singură cheie API. Nu există cookie-uri, nici urmărire și nici date cu caracter personal, iar găzduirea este implicit doar în UE.

CAPTCHA invizibil pentru React & Next.js

Funcționează cu orice aplicație React sau Next.js prin scriptul ușor SilentShield: obțineți un nonce la trimitere și verificați-l în backend cu @forge12interactive/silentshield-sdk-js. Invizibil și conform GDPR.

Integrare CAPTCHA în React

Developer Experience

Independent de framework — funcționează cu orice aplicație React sau Next.js
Script de client ușor — nu necesită un pachet React greu
Bazat pe nonce — invizibil, fără interacțiune din partea utilizatorului
@forge12interactive/silentshield-sdk-js pentru verificarea în backend
Funcționează cu App Router și Pages Router
Compatibil cu TypeScript

Exemple de cod

Încorporarea scriptului de client

<!-- Add to <head> with SRI for security -->
(function () {
  var KEY = "YOUR_API_KEY";
  var SITE = location.hostname;
  var V = "2025.09.1";
  var s = document.createElement('script');
  s.src = "https://api.silentshield.io/client.js?k=" + encodeURIComponent(KEY)
    + "&v=" + encodeURIComponent(V)
    + "&site=" + encodeURIComponent(SITE);
  s.async = true;
  s.crossOrigin = "anonymous";
  document.head.appendChild(s);
})();

Componentă React

import React, { useState } from "react";

export default function ContactForm() {
  const [loading, setLoading] = useState(false);
  const [message, setMessage] = useState("");

  const handleSubmit = async (e) => {
    e.preventDefault();
    setLoading(true);

    try {
      // client.js injects a hidden behavior_nonce input into the form —
      // read it from the form data (there is no global SilentShield object).
      const formData = new FormData(e.currentTarget);
      const nonce = formData.get("behavior_nonce");

      // Verify on your backend
      const res = await fetch("/api/verify", {
        method: "POST",
        headers: { "Content-Type": "application/json" },
        body: JSON.stringify({ nonce }),
      });

      const data = await res.json();

      if (res.ok && data.success) {
        setMessage("Successfully verified!");
        // Process form submission
      } else {
        setMessage("Bot detected. Please try again.");
      }
    } catch (error) {
      console.error("Verification failed:", error);
      setMessage("Verification failed. Please try again.");
    } finally {
      setLoading(false);
    }
  };

  return (
    <form onSubmit={handleSubmit}>
      <input type="email" placeholder="Email" required />
      <button type="submit" disabled={loading}>
        {loading ? "Verifying..." : "Submit"}
      </button>
      {message && <p>{message}</p>}
    </form>
  );
}

Verificare în backend (Next.js)

// app/api/verify/route.ts
import { SilentShield } from "@forge12interactive/silentshield-sdk-js";

export async function POST(req: Request) {
  const { nonce } = await req.json();
  const result = await SilentShield.verifyNonce(nonce, process.env.SILENTSHIELD_API_KEY);
  const human = result.ok && result.verdict === "human" && result.confidence >= 0.7;

  if (!human) {
    return Response.json({ error: "Bot detected" }, { status: 403 });
  }

  // Human — process the form
  return Response.json({ success: true });
}

Cum funcționează SilentShield în React

SilentShield încarcă un mic script de client care efectuează o verificare invizibilă în timp ce un utilizator interacționează cu formularul dvs. La trimitere, componenta dvs. React sau Next.js trimite tokenul generat către backendul dvs., unde îl verificați cu pachetul @forge12interactive/silentshield-sdk-js. Utilizatorii nu văd niciodată un puzzle, iar bundle-ul dvs. rămâne ușor deoarece nu există niciun widget greu de randat.

Script de client plus verificare pe server

Nu există un pachet web @silentshield/react separat de instalat — SilentShield funcționează în orice aplicație React sau Next.js prin scriptul de client și o verificare pe partea serverului. Adăugați scriptul https://api.silentshield.io/client.js?k=YOUR_API_KEY, citiți tokenul în componenta dvs. și îl confirmați față de https://api.silentshield.io/v1/verify folosind antetul api-key dintr-un route handler sau o rută API.

Ghid de configurare

Creați un cont și copiați cheia API. Adăugați scriptul de client SilentShield în aplicația dvs. și capturați tokenul când formularul este trimis. Instalați @forge12interactive/silentshield-sdk-js pe serverul dvs., creați clientul cu cheia API și apelați verify cu tokenul. Dacă rezultatul este uman, procesați cererea; în caz contrar, respingeți-o.

Confidențialitate și accesibilitate în mod implicit

SilentShield nu stochează cookie-uri, nu efectuează urmărire și nu colectează date cu caracter personal, astfel încât aplicația dvs. rămâne conformă cu GDPR. Verificarea rulează implicit pe infrastructură exclusiv în UE. Verificarea invizibilă respectă WCAG 2.1 AA, ceea ce menține formularele dvs. utilizabile pentru utilizatorii de tastatură și de cititoare de ecran, fără nicio provocare vizuală.

Integrați cu React acum

Adăugați scriptul, verificați cu @forge12interactive/silentshield-sdk-js — gata în câteva minute.

Întrebări frecvente

Cum adaug un CAPTCHA într-o aplicație React?

Încărcați scriptul client SilentShield `https://api.silentshield.io/client.js?k=YOUR_API_KEY` în aplicația React sau Next.js, obțineți un nonce la trimitere și verificați-l pe backend la `https://api.silentshield.io/v1/verify` folosind SDK-ul `@forge12interactive/silentshield-sdk-js`. Nu există un pachet React web separat — scriptul client plus verificarea pe backend este modelul.

Există un pachet SilentShield pentru React?

Nu există un pachet web React separat. În React și Next.js adaugi scriptul client `https://api.silentshield.io/client.js?k=YOUR_API_KEY` și verifici `behavior_nonce`-ul injectat pe backendul tău — cu câteva linii de fetch sau cu pachetul oficial `@forge12interactive/silentshield-sdk-js`. Un SDK React Native pentru aplicații mobile este momentan disponibil la cerere (early access).

Cum funcționează SilentShield cu Next.js?

În Next.js, includeți scriptul client SilentShield în paginile dumneavoastră, apoi verificați nonce-ul pe server — într-un route handler sau o rută API — cu SDK-ul `@forge12interactive/silentshield-sdk-js`, apelând `https://api.silentshield.io/v1/verify` cu antetul `api-key`. Astfel formularele sunt protejate invizibil cu o singură cheie API.

Acceptă SilentShield React Native?

Un SDK React Native pentru aplicații mobile este momentan în early access — solicită-l la [email protected]. Verificarea pe backend funcționează deja cu `@forge12interactive/silentshield-sdk-js` sau cu un simplu apel HTTP la `https://api.silentshield.io/v1/verify`, blocând abuzurile automatizate fără a le arăta utilizatorilor puzzle-uri.

Este SilentShield conform GDPR într-o aplicație React?

Da. Indiferent de framework, SilentShield găzduiește datele în UE în mod implicit, nu setează cookie-uri, nu efectuează urmărire și stochează doar date pseudonimizate. Frontendul React încarcă un singur script client, iar backendul verifică nonce-ul — nu se stochează nicio informație care identifică persoane.

Adaugă SilentShield mult surplus unei aplicații React?

Nu. SilentShield încarcă un singur script client ușor și nu are fișiere de imagine de descărcat. Verificarea are loc prin semnale comportamentale și un nonce proof-of-work, verificat pe backend, fără apeluri de urmărire către terți — așa că adaugă un surplus minim aplicației dumneavoastră React sau Next.js.