SilentShield je nevidna, z GDPR skladna alternativa CAPTCHA za aplikacije PHP. Obrazcem dodaš odjemalsko skripto in vsako oddajo preveriš na strežniku z enim samim klicem HTTP in enim API ključem — ničesar ni treba namestiti ali vzdrževati. Brez piškotkov, brez sledenja in brez osebnih podatkov; gostovanje je privzeto samo v EU.

Nevidni CAPTCHA za PHP

En API ključ in nekaj vrstic PHP — brez paketa, brez odvisnosti. Deluje v Laravelu, Symfonyju ali čistem PHP. Nevidno, skladno z GDPR, vgrajeno v nekaj minutah.

Integracija CAPTCHA v PHP

PHP Developer Features

Brez odvisnosti — pet vrstic čistega PHP
Združljiv s PHP 8.1+
Neodvisen od ogrodja — Laravel, Symfony ali čisti PHP
Temelji na nonce — neviden, brez interakcije uporabnika
En API ključ, en klic: POST /captcha/verify-nonce
Zasnovan kot fail-open — ob izpadu API-ja nikoli ne blokira

Primeri kode

Zahteve

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

Vdelava na sprednjem delu

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

Preverjanje na zaledju

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

Kako SilentShield deluje v PHP

SilentShield vašim obrazcem PHP doda nevidno preverjanje in preveri vsako oddajo na strežniku. Odjemalski skript se izvaja v ozadju, medtem ko obiskovalec izpolnjuje obrazec, ustvarjeni žeton pa se pošlje z zahtevo. Vaš zaledni sistem PHP potrdi žeton pred obdelavo, tako da se resničnim uporabnikom nikoli ne prikaže uganka.

En klic, en API ključ

Preverjanje je en sam POST na https://api.silentshield.io/api/v1/captcha/verify-nonce s ključem v glavi X-Api-Key. Preberi ok iz odgovora in zavrni oddajo, če je false. Istih pet vrstic deluje v čistem PHP kot v Laravelu ali Symfonyju — pri klicu HTTP ni ničesar, kar bi bilo vezano na ogrodje.

Vodnik za nastavitev

Svojemu obrazcu dodajte odjemalski skript SilentShield https://api.silentshield.io/client.js?k=YOUR_API_KEY in kopirajte svoj ključ API z nadzorne plošče. Ob oddaji preberite žeton iz zahteve, ustvarite SilentShield\Client in pokličite verify. Ko preverjanje uspe, obdelajte obrazec; sicer vrnite odgovor 403 in zavrnite oddajo.

Zasebnost in dostopnost privzeto

SilentShield ne uporablja piškotkov, sledenja ali osebnih podatkov, kar vaše obrazce PHP ohranja skladne s Splošno uredbo o varstvu podatkov. Vse preverjanje privzeto poteka na infrastrukturi samo v EU. Ker ni slikovnih ali zvočnih ugank, zaščita izpolnjuje WCAG 2.1 AA in ostaja dostopna uporabnikom tipkovnice in bralnikov zaslona.

Integrirajte s PHP zdaj

Pet vrstic PHP — pripravljeno v nekaj minutah.

Pogosta vprašanja

Kako dodam CAPTCHA na spletno mesto PHP?

Na svoje strani dodaj odjemalsko skripto `https://api.silentshield.io/client.js?k=TVOJ_API_KLJUC`, nato pa v PHP preveri proof-of-work vrednost z enim POST na `https://api.silentshield.io/api/v1/captcha/verify-nonce`, pri čemer ključ pošlješ v glavi `X-Api-Key`. En API ključ pokriva prednji in zaledni del.

Ali obstaja PHP SDK za SilentShield?

Ne potrebuješ ga. Preverjanje je en sam klic HTTP, zato nekaj vrstic čistega PHP s cURL zadošča v katerem koli ogrodju — Laravel, Symfony ali brez. Dodaš odjemalsko skripto in pred sprejemom obrazca preveriš polje `ok` v odgovoru. Če imaš raje paket, vodnik Agent Enforce prikaže namestitev neposredno z GitHuba.

Kako preverim žeton SilentShield v PHP?

Pošlji `behavior_nonce`, ki ga je oddal tvoj obrazec, s POST na `https://api.silentshield.io/api/v1/captcha/verify-nonce`, z API ključem v glavi `X-Api-Key`. Odgovor vsebuje `ok`, `verdict` in `confidence`; zavrni oddajo, ko je `ok` false.

Ali SilentShield deluje z Laravel ali čistim PHP?

Da. Ker je preverjanje običajen klic HTTP, deluje v vsaki aplikaciji PHP — Laravel, Symfony ali čisti PHP. Obrazcem dodaš odjemalsko skripto in vrednost preveriš na strežniku, preden obdelaš oddajo.

Ali je SilentShield skladen z GDPR na zaledju PHP?

Da. Ne glede na zaledje SilentShield privzeto gosti podatke v EU, ne nastavlja piškotkov, ne sledi in shranjuje le psevdonimizirane podatke. Tvoj strežnik PHP preveri vrednost z enim klicem HTTPS; osebni podatki ne zapustijo tvoje aplikacije.

Ali morajo uporabniki PHP rešiti uganko?

Ne. SilentShield je neviden, zato obiskovalci vašega spletnega mesta PHP nikoli ne vidijo slikovne uganke ali potrditvenega polja. Odjemalska skripta preverja prave uporabnike v ozadju prek vedenjskih signalov in žetona proof-of-work, izpolnjuje WCAG 2.1 AA, medtem ko vaše zaledje blokira bote prek `SilentShield\Client`.