SilentShield to niewidoczna, zgodna z RODO alternatywa dla CAPTCHA w aplikacjach PHP. Dodajesz do formularzy skrypt kliencki i weryfikujesz każde wysłanie po stronie serwera jednym wywołaniem HTTP i jednym kluczem API — nic do zainstalowania i nic do utrzymywania. Bez ciasteczek, bez śledzenia i bez danych osobowych; hosting domyślnie wyłącznie w UE.

Niewidoczna CAPTCHA dla PHP

Jeden klucz API i kilka linijek PHP — bez pakietu, bez zależności. Działa w Laravelu, Symfony i czystym PHP. Niewidoczne, zgodne z RODO, wdrożone w kilka minut.

Integracja CAPTCHA w PHP

PHP Developer Features

Bez zależności — pięć linijek czystego PHP
Zgodny z PHP 8.1+
Niezależny od frameworka — Laravel, Symfony lub czysty PHP
Oparty na nonce — niewidoczny, bez interakcji użytkownika
Jeden klucz API, jedno wywołanie: POST /captcha/verify-nonce
Zaprojektowany jako fail-open — nigdy nie blokuje przy awarii API

Przykłady kodu

Wymagania

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

Osadzenie we frontendzie

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

Weryfikacja w backendzie

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

Jak działa SilentShield w PHP

SilentShield dodaje niewidoczną kontrolę do Twoich formularzy PHP i weryfikuje każde przesłanie na serwerze. Skrypt kliencki działa w tle, gdy odwiedzający wypełnia formularz, a wygenerowany token jest wysyłany wraz z żądaniem. Twój backend PHP potwierdza token przed przetworzeniem, więc prawdziwym użytkownikom nigdy nie jest pokazywana zagadka.

Jedno wywołanie, jeden klucz API

Weryfikacja to pojedyncze POST na https://api.silentshield.io/api/v1/captcha/verify-nonce z kluczem w nagłówku X-Api-Key. Odczytaj z odpowiedzi ok i odrzuć wysłanie, gdy jest false. Te same pięć linijek działa w czystym PHP tak samo jak w Laravelu czy Symfony — w wywołaniu HTTP nie ma nic specyficznego dla frameworka.

Przewodnik konfiguracji

Dodaj skrypt kliencki SilentShield https://api.silentshield.io/client.js?k=YOUR_API_KEY do swojego formularza i skopiuj swój klucz API z panelu. Podczas przesyłania odczytaj token z żądania, utwórz SilentShield\Client i wywołaj verify. Gdy kontrola się powiedzie, przetwórz formularz; w przeciwnym razie zwróć odpowiedź 403 i odrzuć przesłanie.

Prywatność i dostępność domyślnie

SilentShield nie używa plików cookie, śledzenia ani danych osobowych, dzięki czemu Twoje formularze PHP pozostają zgodne z RODO. Cała weryfikacja domyślnie odbywa się na infrastrukturze wyłącznie w UE. Ponieważ nie ma zagadek obrazkowych ani dźwiękowych, ochrona spełnia WCAG 2.1 AA i pozostaje dostępna dla użytkowników klawiatury i czytników ekranu.

Zintegruj z PHP już teraz

Pięć linijek PHP — gotowe w kilka minut.

Najczęściej zadawane pytania

Jak dodać CAPTCHA do witryny PHP?

Dodaj do swoich stron skrypt kliencki `https://api.silentshield.io/client.js?k=TWOJ_KLUCZ_API`, a następnie zweryfikuj nonce proof-of-work w PHP jednym POST na `https://api.silentshield.io/api/v1/captcha/verify-nonce`, wysyłając klucz w nagłówku `X-Api-Key`. Jeden klucz API obejmuje frontend i backend.

Czy istnieje pakiet SDK PHP dla SilentShield?

Nie potrzebujesz go. Weryfikacja to jedno wywołanie HTTP, więc kilka linijek czystego PHP z cURL wystarczy w każdym frameworku — Laravel, Symfony albo żadnym. Dodajesz skrypt kliencki i sprawdzasz pole `ok` w odpowiedzi, zanim przyjmiesz formularz. Jeśli wolisz pakiet, przewodnik Agent Enforce pokazuje instalację prosto z GitHuba.

Jak zweryfikować nonce SilentShield w PHP?

Wyślij `behavior_nonce` przesłany przez formularz metodą POST na `https://api.silentshield.io/api/v1/captcha/verify-nonce`, z kluczem API w nagłówku `X-Api-Key`. Odpowiedź zawiera `ok`, `verdict` i `confidence`; odrzuć wysłanie, gdy `ok` jest false.

Czy SilentShield działa z Laravel lub czystym PHP?

Tak. Ponieważ weryfikacja to zwykłe wywołanie HTTP, działa w każdej aplikacji PHP — Laravel, Symfony czy czyste PHP. Dodajesz skrypt kliencki do formularzy i weryfikujesz nonce po stronie serwera przed przetworzeniem wysłania.

Czy SilentShield jest zgodny z RODO na backendzie PHP?

Tak. Niezależnie od backendu SilentShield domyślnie hostuje dane w UE, nie ustawia ciasteczek, nie śledzi i przechowuje wyłącznie dane spseudonimizowane. Twój serwer PHP weryfikuje nonce jednym wywołaniem HTTPS; dane osobowe nie opuszczają twojej aplikacji.

Czy użytkownicy witryny PHP muszą rozwiązywać zagadkę?

Nie. SilentShield jest niewidoczny, więc odwiedzający Twoją witrynę PHP nigdy nie widzą zagadki obrazkowej ani pola wyboru. Skrypt kliencki weryfikuje prawdziwych użytkowników w tle za pomocą sygnałów behawioralnych i nonce proof-of-work, spełniając WCAG 2.1 AA, podczas gdy Twój backend blokuje boty za pomocą `SilentShield\Client`.