SilentShield is een onzichtbaar, AVG-conform alternatief voor CAPTCHA voor PHP-toepassingen. Je voegt een clientscript toe aan je formulieren en verifieert elke inzending op de server met één HTTP-aanroep en één API-sleutel — niets te installeren, niets bij te houden. Geen cookies, geen tracking en geen persoonsgegevens; hosting is standaard alleen in de EU.

Onzichtbare CAPTCHA voor PHP

Eén API-sleutel en een paar regels PHP — geen pakket, geen afhankelijkheid. Werkt in Laravel, Symfony of kale PHP. Onzichtbaar, AVG-conform, in minuten ingebouwd.

PHP-CAPTCHA-integratie

PHP Developer Features

Geen afhankelijkheid — vijf regels kale PHP
Compatibel met PHP 8.1+
Framework-agnostisch — Laravel, Symfony of pure PHP
Op basis van een nonce — onzichtbaar, geen gebruikersinteractie
Eén API-sleutel, één aanroep: POST /captcha/verify-nonce
Fail-open ontworpen — blokkeert nooit bij een API-storing

Codevoorbeelden

Vereisten

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

Frontend-insluiting

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

Backend-verificatie

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

Zo werkt SilentShield in PHP

SilentShield voegt een onzichtbare controle toe aan uw PHP-formulieren en verifieert elke inzending op de server. Het clientscript draait op de achtergrond terwijl de bezoeker het formulier invult, en het gegenereerde token wordt met het verzoek meegestuurd. Uw PHP-backend bevestigt het token vóór verwerking, zodat echte gebruikers nooit een puzzel te zien krijgen.

Eén aanroep, één API-sleutel

De verificatie is één POST naar https://api.silentshield.io/api/v1/captcha/verify-nonce met je sleutel in de X-Api-Key-header. Lees ok uit het antwoord en weiger de inzending wanneer die false is. Dezelfde vijf regels werken in kale PHP net zo goed als in Laravel of Symfony — aan een HTTP-aanroep is niets frameworkspecifiek.

Stapsgewijze installatie

Voeg het SilentShield-clientscript https://api.silentshield.io/client.js?k=YOUR_API_KEY toe aan uw formulier en kopieer uw API-sleutel uit het dashboard. Lees bij het verzenden het token uit het verzoek, maak een SilentShield\Client aan en roep verify aan. Als de controle slaagt, verwerkt u het formulier; anders geeft u een 403-antwoord terug en wijst u de inzending af.

Privacy en toegankelijkheid standaard

SilentShield gebruikt geen cookies, geen tracking en geen persoonsgegevens, waardoor uw PHP-formulieren in lijn blijven met de AVG. Alle verificatie draait standaard op infrastructuur die uitsluitend in de EU staat. Omdat er geen beeld- of audiopuzzels zijn, voldoet de bescherming aan WCAG 2.1 AA en blijft ze toegankelijk voor toetsenbord- en schermlezergebruikers.

Integreer nu met PHP

Vijf regels PHP — in minuten klaar.

Veelgestelde vragen

Hoe voeg ik een CAPTCHA toe aan een PHP-site?

Voeg het clientscript `https://api.silentshield.io/client.js?k=JOUW_API_SLEUTEL` toe aan je pagina's en verifieer daarna de proof-of-work-nonce in PHP met één POST naar `https://api.silentshield.io/api/v1/captcha/verify-nonce`, met je sleutel in de `X-Api-Key`-header. Eén API-sleutel dekt frontend en backend.

Is er een PHP-SDK voor SilentShield?

Je hebt er geen nodig. De verificatie is één HTTP-aanroep, dus een paar regels kale PHP met cURL volstaan in elk framework — Laravel, Symfony of geen enkel. Je voegt het clientscript toe en controleert het veld `ok` in het antwoord voordat je het formulier accepteert. Wil je toch een pakket, dan laat de Agent Enforce-handleiding de installatie rechtstreeks vanaf GitHub zien.

Hoe verifieer ik een SilentShield-nonce in PHP?

Stuur de `behavior_nonce` die je formulier heeft meegestuurd met een POST naar `https://api.silentshield.io/api/v1/captcha/verify-nonce`, met je API-sleutel in de `X-Api-Key`-header. Het antwoord bevat `ok`, `verdict` en `confidence`; weiger de inzending wanneer `ok` false is.

Werkt SilentShield met Laravel of gewoon PHP?

Ja. Omdat de verificatie een gewone HTTP-aanroep is, werkt ze in elke PHP-toepassing — Laravel, Symfony of kale PHP. Je voegt het clientscript toe aan je formulieren en verifieert de nonce op de server voordat je de inzending verwerkt.

Is SilentShield AVG-conform op een PHP-backend?

Ja. Wat je backend ook is, SilentShield host standaard in de EU, plaatst geen cookies, doet niet aan tracking en bewaart alleen gepseudonimiseerde gegevens. Je PHP-server verifieert de nonce met één HTTPS-aanroep; er verlaten geen persoonsgegevens je toepassing.

Moeten gebruikers van een PHP-site een puzzel oplossen?

Nee. SilentShield is onzichtbaar, dus bezoekers van uw PHP-site zien nooit een beeldpuzzel of selectievakje. Het clientscript verifieert echte gebruikers op de achtergrond via gedragssignalen en een proof-of-work-nonce, voldoet aan WCAG 2.1 AA, terwijl uw backend bots blokkeert via `SilentShield\Client`.