SilentShield è un'alternativa invisibile al CAPTCHA, conforme al GDPR, per applicazioni PHP. Aggiungi uno script client ai tuoi moduli e verifichi ogni invio lato server con una sola chiamata HTTP e una sola chiave API: niente da installare, niente da mantenere. Nessun cookie, nessun tracciamento e nessun dato personale; l'hosting è per impostazione predefinita solo nell'UE.

CAPTCHA invisibile per PHP

Una chiave API e poche righe di PHP: nessun pacchetto, nessuna dipendenza. Funziona con Laravel, Symfony o PHP puro. Invisibile, conforme al GDPR, integrato in pochi minuti.

Integrazione CAPTCHA PHP

PHP Developer Features

Nessuna dipendenza: cinque righe di PHP puro
Compatibile con PHP 8.1+
Indipendente dal framework — Laravel, Symfony o PHP puro
Basato su nonce — invisibile, senza interazione dell'utente
Una chiave API, una chiamata: POST /captcha/verify-nonce
Progettato in fail-open — non blocca mai in caso di guasto dell'API

Esempi di codice

Requisiti

# No package, no dependency.
# PHP 8.1 or newer with the cURL extension — that is all.
php -m | grep curl

Integrazione frontend

<!-- 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);
})();

Verifica nel backend

<?php
$api_key = "YOUR_API_KEY";
$nonce = $_POST['behavior_nonce'] ?? ''; // hidden input injected by client.js

$payload = json_encode(['nonce' => $nonce]);

$ch = curl_init("https://api.silentshield.io/v1/verify");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
  "Content-Type: application/json",
  "api-key: " . $api_key,
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);

$response = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if ($http_code !== 200) {
  error_log("SilentShield API error: " . $http_code);
  // Fail secure: reject on API errors
  exit(json_encode(['error' => 'Verification failed']));
}

$data = json_decode($response, true);
$is_human = $data['ok'] && $data['verdict'] === 'human' && $data['confidence'] >= 0.7;

if (!$is_human) {
  error_log("Bot detected. Nonce: " . ($data['requested_nonce'] ?? 'unknown'));
  exit(json_encode(['error' => 'Bot detected']));
}

Come funziona SilentShield in PHP

SilentShield aggiunge un controllo invisibile ai tuoi moduli PHP e verifica ogni invio sul server. Lo script client viene eseguito in background mentre il visitatore compila il modulo e il token generato viene inviato con la richiesta. Il tuo backend PHP conferma il token prima dell'elaborazione, così agli utenti reali non viene mai mostrato alcun rompicapo.

Una chiamata, una chiave API

La verifica è un unico POST a https://api.silentshield.io/api/v1/captcha/verify-nonce con la tua chiave nell'intestazione X-Api-Key. Leggi ok dalla risposta e rifiuta l'invio quando è false. Le stesse cinque righe funzionano in PHP puro come in Laravel o Symfony: una chiamata HTTP non ha nulla di specifico per un framework.

Guida alla configurazione

Aggiungi lo script client di SilentShield https://api.silentshield.io/client.js?k=YOUR_API_KEY al tuo modulo e copia la tua chiave API dalla dashboard. All'invio, leggi il token dalla richiesta, crea un SilentShield\Client e chiama verify. Quando il controllo ha esito positivo, elabora il modulo; in caso contrario, restituisci una risposta 403 e rifiuta l'invio.

Privacy e accessibilità per impostazione predefinita

SilentShield non usa cookie, né tracciamento, né dati personali, mantenendo i tuoi moduli PHP in linea con il GDPR. Tutta la verifica viene eseguita su un'infrastruttura esclusivamente nell'UE per impostazione predefinita. Poiché non ci sono rompicapo visivi o audio, la protezione soddisfa le WCAG 2.1 AA e resta accessibile agli utenti di tastiera e screen reader.

Integra PHP ora

Cinque righe di PHP: pronto in pochi minuti.

Domande frequenti

Come aggiungo un CAPTCHA a un sito PHP?

Aggiungi alle tue pagine lo script client `https://api.silentshield.io/client.js?k=LA_TUA_CHIAVE_API`, poi verifica il nonce proof-of-work in PHP con un unico POST a `https://api.silentshield.io/api/v1/captcha/verify-nonce`, inviando la chiave nell'intestazione `X-Api-Key`. Una sola chiave API copre frontend e backend.

Esiste un SDK PHP per SilentShield?

Non ti serve. La verifica è una singola chiamata HTTP, quindi poche righe di PHP puro con cURL bastano in qualunque framework: Laravel, Symfony o nessuno. Aggiungi lo script client e controlli il campo `ok` della risposta prima di accettare il modulo. Se preferisci un pacchetto, la guida Agent Enforce mostra l'installazione direttamente da GitHub.

Come verifico un nonce di SilentShield in PHP?

Invia il `behavior_nonce` trasmesso dal modulo con un POST a `https://api.silentshield.io/api/v1/captcha/verify-nonce`, con la chiave API nell'intestazione `X-Api-Key`. La risposta contiene `ok`, `verdict` e `confidence`; rifiuta l'invio quando `ok` è false.

SilentShield funziona con Laravel o PHP puro?

Sì. Poiché la verifica è una normale chiamata HTTP, funziona in qualsiasi applicazione PHP: Laravel, Symfony o PHP puro. Aggiungi lo script client ai moduli e verifichi il nonce lato server prima di elaborare l'invio.

SilentShield è conforme al RGPD su un backend PHP?

Sì. Qualunque sia il backend, SilentShield ospita i dati nell'UE per impostazione predefinita, non imposta cookie, non traccia e conserva solo dati pseudonimizzati. Il tuo server PHP verifica il nonce con una singola chiamata HTTPS; nessun dato personale lascia la tua applicazione.

Gli utenti di un sito PHP devono risolvere un enigma?

No. SilentShield è invisibile, quindi i visitatori del suo sito PHP non vedono mai un enigma visivo o una casella di controllo. Lo script client verifica gli utenti reali in background tramite segnali comportamentali e un nonce proof-of-work, soddisfacendo lo standard WCAG 2.1 AA, mentre il suo backend blocca i bot tramite `SilentShield\Client`.