SilentShield yra nematoma, BDAR atitinkanti CAPTCHA alternatyva PHP programoms. Prie formų pridedi kliento scenarijų ir kiekvieną pateikimą patikrini serveryje vienu HTTP užklausimu su vienu API raktu — nieko nereikia diegti ir prižiūrėti. Jokių slapukų, jokio sekimo, jokių asmens duomenų; prieglobos vieta pagal numatytuosius nustatymus tik ES.

Nematoma CAPTCHA, skirta PHP

Vienas API raktas ir kelios PHP eilutės — jokio paketo, jokios priklausomybės. Veikia su Laravel, Symfony ar grynu PHP. Nematoma, atitinka BDAR, įdiegiama per kelias minutes.

PHP CAPTCHA integracija

PHP Developer Features

Jokios priklausomybės — penkios grynos PHP eilutės
Suderinamas su PHP 8.1+
Nepriklausomas nuo karkaso — Laravel, Symfony ar grynas PHP
Pagrįstas nonce — nematomas, be naudotojo sąveikos
Vienas API raktas, vienas užklausimas: POST /captcha/verify-nonce
Suprojektuotas kaip fail-open — niekada neblokuoja sutrikus API

Kodo pavyzdžiai

Reikalavimai

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

Įterpimas priekinėje dalyje

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

Serverio pusės patvirtinimas

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

Kaip SilentShield veikia su PHP

SilentShield prideda nematomą patikrą prie jūsų PHP formų ir patikrina kiekvieną pateikimą serveryje. Kliento scenarijus veikia fone, kol lankytojas pildo formą, o sugeneruotas prieigos raktas siunčiamas kartu su užklausa. Jūsų PHP serverio dalis patvirtina prieigos raktą prieš apdorojimą, todėl tikriems naudotojams niekada nerodomas galvosūkis.

Vienas užklausimas, vienas API raktas

Patikra yra vienas POST į https://api.silentshield.io/api/v1/captcha/verify-nonce su raktu X-Api-Key antraštėje. Perskaityk iš atsakymo ok ir atmesk pateikimą, jei jis false. Tos pačios penkios eilutės veikia gryname PHP kaip ir Laravel ar Symfony — HTTP užklausime nėra nieko būdingo karkasui.

Sąrankos vadovas

Pridėkite SilentShield kliento scenarijų https://api.silentshield.io/client.js?k=YOUR_API_KEY prie savo formos ir nukopijuokite savo API raktą iš valdymo skydelio. Pateikiant nuskaitykite prieigos raktą iš užklausos, sukurkite SilentShield\Client ir iškvieskite verify. Kai patikra pavyksta, apdorokite formą; priešingu atveju grąžinkite 403 atsakymą ir atmeskite pateikimą.

Privatumas ir prieinamumas pagal numatytuosius nustatymus

SilentShield nenaudoja slapukų, sekimo ar asmens duomenų, todėl jūsų PHP formos lieka suderinamos su BDAR. Visa patikra pagal numatytuosius nustatymus vykdoma infrastruktūroje, esančioje tik ES. Kadangi nėra vaizdo ar garso galvosūkių, apsauga atitinka WCAG 2.1 AA ir lieka prieinama klaviatūros bei ekrano skaitytuvų naudotojams.

Integruokite su PHP dabar

Penkios PHP eilutės — paruošta per kelias minutes.

Dažnai užduodami klausimai

Kaip pridėti CAPTCHA prie PHP svetainės?

Pridėk į savo puslapius kliento scenarijų `https://api.silentshield.io/client.js?k=TAVO_API_RAKTAS`, tada PHP patikrink proof-of-work vienkartinį kodą vienu POST į `https://api.silentshield.io/api/v1/captcha/verify-nonce`, siųsdamas raktą `X-Api-Key` antraštėje. Vienas API raktas apima ir sąsają, ir serverį.

Ar yra PHP SDK skirtas SilentShield?

Tau jo nereikia. Patikra yra vienas HTTP užklausimas, tad kelios grynos PHP eilutės su cURL pakanka bet kuriame karkase — Laravel, Symfony ar jokiame. Pridedi kliento scenarijų ir prieš priimdamas formą patikrini atsakymo lauką `ok`. Jei vis dėlto nori paketo, Agent Enforce vadovas rodo diegimą tiesiai iš GitHub.

Kaip patvirtinti SilentShield nonce PHP?

Formos pateiktą `behavior_nonce` siųsk POST metodu į `https://api.silentshield.io/api/v1/captcha/verify-nonce`, API raktą įdėk į `X-Api-Key` antraštę. Atsakyme yra `ok`, `verdict` ir `confidence`; atmesk pateikimą, kai `ok` yra false.

Ar SilentShield veikia su Laravel ar grynu PHP?

Taip. Kadangi patikra yra paprastas HTTP užklausimas, ji veikia bet kurioje PHP programoje — Laravel, Symfony ar gryname PHP. Prie formų pridedi kliento scenarijų ir patikrini kodą serveryje prieš apdorodamas pateikimą.

Ar SilentShield atitinka GDPR PHP serveryje?

Taip. Nesvarbu, koks serveris, SilentShield pagal numatytuosius nustatymus duomenis laiko ES, nenustato slapukų, nesekioja ir saugo tik pseudonimizuotus duomenis. Tavo PHP serveris patikrina kodą vienu HTTPS užklausimu; asmens duomenys iš tavo programos neišeina.

Ar PHP naudotojai turi spręsti galvosūkį?

Ne. SilentShield yra nematomas, todėl jūsų PHP svetainės lankytojai niekada nemato paveikslėlio galvosūkio ar žymimojo langelio. Kliento scenarijus patvirtina tikrus naudotojus fone per elgsenos signalus ir proof-of-work nonce, atitinka WCAG 2.1 AA, o jūsų serveris blokuoja botus per `SilentShield\Client`.