SilentShield er et usynligt, GDPR-konformt alternativ til CAPTCHA for PHP-applikationer. Du tilføjer et klientscript til dine formularer og verificerer hver indsendelse på serveren med ét enkelt HTTP-kald og én API-nøgle — intet at installere, intet at holde opdateret. Ingen cookies, ingen sporing, ingen personoplysninger, og hosting er som standard kun i EU.

Usynlig CAPTCHA til PHP

Én API-nøgle og et par linjer PHP — ingen pakke, ingen afhængighed. Virker i Laravel, Symfony eller ren PHP. Usynlig, GDPR-konform, integreret på minutter.

PHP-CAPTCHA-integration

PHP Developer Features

Ingen afhængighed — fem linjer ren PHP
Kompatibel med PHP 8.1+
Framework-uafhængig — Laravel, Symfony eller ren PHP
Nonce-baseret — usynlig, ingen brugerinteraktion
Én API-nøgle, ét kald: POST /captcha/verify-nonce
Fail-open i designet — blokerer aldrig ved API-nedbrud

Kodeeksempler

Forudsætninger

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

Frontend-indlejring

<!-- 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-verificering

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

Sådan fungerer SilentShield i PHP

SilentShield tilføjer et usynligt tjek til dine PHP-formularer og verificerer hver indsendelse på serveren. Klientscriptet kører i baggrunden, mens den besøgende udfylder formularen, og det genererede token sendes med anmodningen. Din PHP-backend bekræfter tokenet før behandling, så rigtige brugere aldrig får vist en gåde.

Ét kald, én API-nøgle

Verifikationen er ét POST til https://api.silentshield.io/api/v1/captcha/verify-nonce med din nøgle i X-Api-Key-headeren. Læs ok fra svaret, og afvis indsendelsen, hvis det er false. De samme fem linjer virker i ren PHP såvel som i Laravel eller Symfony — der er intet frameworkspecifikt ved et HTTP-kald.

Trin-for-trin-opsætning

Tilføj SilentShield-klientscriptet https://api.silentshield.io/client.js?k=YOUR_API_KEY til din formular, og kopiér din API-nøgle fra dashboardet. Ved indsendelse skal du læse tokenet fra anmodningen, oprette en SilentShield\Client og kalde verify. Når tjekket lykkes, behandler du formularen; ellers returnerer du et 403-svar og afviser indsendelsen.

Privatliv og tilgængelighed som standard

SilentShield bruger ingen cookies, ingen sporing og ingen personoplysninger, hvilket holder dine PHP-formularer i overensstemmelse med GDPR. Al verificering kører som standard på infrastruktur, der kun er i EU. Da der ikke er nogen billed- eller lydgåder, opfylder beskyttelsen WCAG 2.1 AA og forbliver tilgængelig for tastatur- og skærmlæserbrugere.

Integrér med PHP nu

Fem linjer PHP — klar på minutter.

Ofte stillede spørgsmål

Hvordan tilføjer jeg et CAPTCHA til et PHP-website?

Tilføj SilentShield-klientscriptet `https://api.silentshield.io/client.js?k=DIN_API_NOEGLE` til dine sider, og verificér derefter proof-of-work-noncen i PHP med ét POST til `https://api.silentshield.io/api/v1/captcha/verify-nonce` med din nøgle i `X-Api-Key`-headeren. Én API-nøgle dækker frontend og backend.

Findes der en PHP-SDK til SilentShield?

Du har ikke brug for en. Verifikationen er ét HTTP-kald, så nogle få linjer ren PHP med cURL klarer det i ethvert framework — Laravel, Symfony eller slet ingen. Du tilføjer klientscriptet og tjekker feltet `ok` i svaret, før du accepterer formularen. Foretrækker du en pakke, viser Agent Enforce-guiden installation direkte fra GitHub.

Hvordan verificerer jeg en SilentShield-nonce i PHP?

Send det `behavior_nonce`, din formular indsendte, med POST til `https://api.silentshield.io/api/v1/captcha/verify-nonce` med din API-nøgle i `X-Api-Key`-headeren. Svaret indeholder `ok`, `verdict` og `confidence`; afvis indsendelsen, når `ok` er false.

Fungerer SilentShield med Laravel eller ren PHP?

Ja. Fordi verifikationen er et almindeligt HTTP-kald, virker den i enhver PHP-applikation — Laravel, Symfony eller ren PHP. Du tilføjer klientscriptet til dine formularer og verificerer noncen på serveren, før du behandler indsendelsen.

Er SilentShield GDPR-kompatibelt på en PHP-backend?

Ja. Uanset backend hoster SilentShield som standard i EU, sætter ingen cookies, sporer ikke og gemmer kun pseudonymiserede data. Din PHP-server verificerer noncen med ét HTTPS-kald; ingen personoplysninger forlader din applikation.

Skal brugere på et PHP-website løse et puslespil?

Nej. SilentShield er usynligt, så besøgende på dit PHP-website ser aldrig et billedpuslespil eller et afkrydsningsfelt. Klientscriptet verificerer ægte brugere i baggrunden via adfærdssignaler og en proof-of-work-nonce, opfylder WCAG 2.1 AA, mens din backend blokerer bots via `SilentShield\Client`.