SilentShield est une alternative invisible au CAPTCHA, conforme au RGPD, pour les applications PHP. Vous ajoutez un script client à vos formulaires et vérifiez chaque envoi côté serveur avec un seul appel HTTP et une seule clé API : rien à installer, rien à maintenir. Ni cookies, ni suivi, ni données personnelles, et l'hébergement se fait par défaut exclusivement dans l'UE.

CAPTCHA invisible pour PHP

Une clé API et quelques lignes de PHP : aucun paquet, aucune dépendance. Fonctionne avec Laravel, Symfony ou du PHP pur. Invisible, conforme au RGPD, intégré en quelques minutes.

Intégration CAPTCHA PHP

PHP Developer Features

Aucune dépendance : cinq lignes de PHP pur
Compatible avec PHP 8.1+
Indépendant du framework — Laravel, Symfony ou PHP pur
Basé sur un nonce — invisible, sans interaction de l'utilisateur
Une clé API, un appel : POST /captcha/verify-nonce
Conçu en fail-open — ne bloque jamais en cas de panne de l'API

Exemples de code

Prérequis

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

Intégration front-end

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

Vérification côté serveur

<?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']));
}

Comment fonctionne SilentShield en PHP

SilentShield ajoute une vérification invisible à vos formulaires PHP et vérifie chaque soumission sur le serveur. Le script client s'exécute en arrière-plan pendant que le visiteur remplit le formulaire, et le jeton généré est envoyé avec la requête. Votre backend PHP confirme le jeton avant tout traitement, de sorte que les utilisateurs réels ne voient jamais de casse-tête.

Un appel, une clé API

La vérification est un unique POST vers https://api.silentshield.io/api/v1/captcha/verify-nonce, avec votre clé dans l'en-tête X-Api-Key. Lisez ok dans la réponse et refusez l'envoi lorsqu'il vaut false. Les mêmes cinq lignes fonctionnent en PHP pur comme dans Laravel ou Symfony : un appel HTTP n'a rien de spécifique à un framework.

Guide de configuration

Ajoutez le script client SilentShield https://api.silentshield.io/client.js?k=YOUR_API_KEY à votre formulaire et copiez votre clé API depuis le tableau de bord. À la soumission, lisez le jeton dans la requête, créez un SilentShield\Client et appelez verify. Si la vérification réussit, traitez le formulaire ; sinon, renvoyez une réponse 403 et rejetez la soumission.

Confidentialité et accessibilité par défaut

SilentShield n'utilise aucun cookie, aucun suivi ni aucune donnée personnelle, ce qui maintient vos formulaires PHP en conformité avec le RGPD. Toute la vérification s'exécute par défaut sur une infrastructure exclusivement dans l'UE. Comme il n'y a pas de casse-tête visuels ou audio, la protection respecte les WCAG 2.1 AA et reste accessible aux utilisateurs du clavier et des lecteurs d'écran.

Intégrez PHP dès maintenant

Cinq lignes de PHP : prêt en quelques minutes.

Questions fréquentes

Comment ajouter un CAPTCHA à un site PHP ?

Ajoutez le script client `https://api.silentshield.io/client.js?k=VOTRE_CLE_API` à vos pages, puis vérifiez le nonce de preuve de travail en PHP avec un unique POST vers `https://api.silentshield.io/api/v1/captcha/verify-nonce`, en envoyant votre clé dans l'en-tête `X-Api-Key`. Une seule clé API couvre le frontend et le backend.

Existe-t-il un SDK PHP pour SilentShield ?

Vous n'en avez pas besoin. La vérification est un unique appel HTTP : quelques lignes de PHP pur avec cURL suffisent dans n'importe quel framework — Laravel, Symfony ou aucun. Vous ajoutez le script client et vérifiez le champ `ok` de la réponse avant d'accepter le formulaire. Si vous préférez un paquet, le guide Agent Enforce montre l'installation directement depuis GitHub.

Comment vérifier un nonce SilentShield en PHP ?

Envoyez le `behavior_nonce` transmis par votre formulaire en POST vers `https://api.silentshield.io/api/v1/captcha/verify-nonce`, avec votre clé API dans l'en-tête `X-Api-Key`. La réponse contient `ok`, `verdict` et `confidence` ; refusez l'envoi lorsque `ok` vaut false.

SilentShield fonctionne-t-il avec Laravel ou du PHP pur ?

Oui. Comme la vérification est un simple appel HTTP, elle fonctionne dans toute application PHP : Laravel, Symfony ou PHP pur. Vous ajoutez le script client à vos formulaires et vérifiez le nonce côté serveur avant de traiter l'envoi.

SilentShield est-il conforme au RGPD sur un backend PHP ?

Oui. Quel que soit votre backend, SilentShield héberge les données dans l'UE par défaut, ne pose aucun cookie, ne fait aucun suivi et ne conserve que des données pseudonymisées. Votre serveur PHP vérifie le nonce par un unique appel HTTPS ; aucune donnée personnelle ne quitte votre application.

Les utilisateurs PHP doivent-ils résoudre une énigme ?

Non. SilentShield est invisible, si bien que les visiteurs de votre site PHP ne voient jamais d'énigme visuelle ni de case à cocher. Le script client vérifie les utilisateurs réels en arrière-plan grâce à des signaux comportementaux et un nonce de preuve de travail, respectant la norme WCAG 2.1 AA, tandis que votre backend bloque les bots via `SilentShield\Client`.