Aanbieding voor nieuwe klanten−20 %20 % korting op de eerste 3 maanden bij maandelijkse betalingBekijk de tarieven
SilentShield

SilentShield is een onzichtbaar, AVG-conform alternatief voor CAPTCHA voor PHP-toepassingen. U voegt een clientscript toe aan uw 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 over websites heen, en hosting standaard in de EU.

Onzichtbare CAPTCHA voor PHP

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

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
Bij een API-storing beslist u zelf: het voorbeeld weigert, één regel laat verzendingen door

Codevoorbeelden

Vereisten

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

Frontend-insluiting

<!-- In <head> or before </body> of every page with a form -->
<script src="https://api.silentshield.io/client.js?k=YOUR_API_KEY" defer></script>

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/api/v1/captcha/verify-nonce");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
  "Content-Type: application/json",
  "X-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 uw 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 en geen tracking over websites heen; het IP-adres dient alleen voor de controle en wordt niet in platte tekst opgeslagen. Zo beschermt u uw PHP-formulieren AVG-conform. De verificatie draait standaard op onze servers in Duitsland. 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

Een paar regels PHP — script toevoegen, op de server controleren.

Veelgestelde vragen

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

Voeg het clientscript `https://api.silentshield.io/client.js?k=YOUR_API_KEY` toe aan uw 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 uw sleutel in de `X-Api-Key`-header. Eén API-sleutel dekt frontend en backend.

Is er een PHP-SDK voor SilentShield?

U 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. U voegt het clientscript toe en controleert het veld `ok` in het antwoord voordat u het formulier accepteert. Wilt u 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 uw formulier heeft meegestuurd met een POST naar `https://api.silentshield.io/api/v1/captcha/verify-nonce`, met uw 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. U voegt het clientscript toe aan uw formulieren en verifieert de nonce op de server voordat u de inzending verwerkt.

Is SilentShield AVG-conform op een PHP-backend?

Ja. Wat uw backend ook is, SilentShield bewaart gegevens op onze servers in Duitsland, plaatst geen cookies, doet niet aan tracking over websites heen en slaat het IP-adres alleen als hash op. Uw PHP-server verifieert de nonce met één HTTPS-aanroep.

Moeten gebruikers van een PHP-site een puzzel oplossen?

Niet in de standaardmodus. Het clientscript verifieert echte gebruikers op de achtergrond via gedragssignalen en een proof-of-work-nonce; alleen als het resultaat onduidelijk is, volgt een korte rekenopgave. De widget is getest volgens WCAG 2.1 AA, en uw backend weigert bots na de controle aan de serverzijde.