SilentShield е невидима, съобразена с ОРЗД алтернатива на CAPTCHA за PHP приложения. Добавяш клиентски скрипт към формулярите си и проверяваш всяко изпращане от страна на сървъра с едно-единствено HTTP извикване и един API ключ — нищо за инсталиране, нищо за поддържане. Без бисквитки, без проследяване, без лични данни; хостингът е в ЕС по подразбиране.

Невидима CAPTCHA за PHP

Един API ключ и няколко реда PHP — без пакет, без зависимост. Работи в Laravel, Symfony или чист PHP. Невидимо, съобразено с ОРЗД, готово за минути.

Интеграция на CAPTCHA в PHP

PHP Developer Features

Без зависимост — пет реда чист PHP
Съвместим с PHP 8.1+
Независим от фреймуърк — Laravel, Symfony или чист PHP
Базиран на nonce — невидим, без взаимодействие с потребителя
Един API ключ, едно извикване: POST /captcha/verify-nonce
Проектиран като fail-open — никога не блокира при срив на API

Примери с код

Изисквания

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

Вграждане във фронтенда

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

Проверка в бекенда

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

Как работи SilentShield в PHP

SilentShield добавя невидима проверка към вашите PHP формуляри и проверява всяко изпращане на сървъра. Клиентският скрипт работи във фонов режим, докато посетителят попълва формуляра, а генерираният токен се изпраща заедно със заявката. Вашият PHP бекенд потвърждава токена преди обработка, така че на реалните потребители никога не се показва пъзел.

Едно извикване, един API ключ

Проверката е едно POST заявление към https://api.silentshield.io/api/v1/captcha/verify-nonce с твоя ключ в хедъра X-Api-Key. Прочети ok от отговора и отхвърли изпращането, ако е false. Същите пет реда работят в чист PHP както и в Laravel или Symfony — в едно HTTP извикване няма нищо специфично за рамка.

Ръководство за настройка

Добавете клиентския скрипт на SilentShield https://api.silentshield.io/client.js?k=YOUR_API_KEY към вашия формуляр и копирайте вашия API ключ от таблото за управление. При изпращане прочетете токена от заявката, създайте SilentShield\Client и извикайте verify. Когато проверката е успешна, обработете формуляра; в противен случай върнете отговор 403 и отхвърлете изпращането.

Поверителност и достъпност по подразбиране

SilentShield не използва бисквитки, проследяване или лични данни, което поддържа вашите PHP формуляри в съответствие с ОРЗД. Цялата проверка се извършва по подразбиране на инфраструктура само в ЕС. Тъй като няма графични или аудио пъзели, защитата отговаря на WCAG 2.1 AA и остава достъпна за потребители на клавиатура и екранни четци.

Интегрирайте с PHP сега

Пет реда PHP — готово за минути.

Често задавани въпроси

Как да добавя CAPTCHA към PHP сайт?

Добави клиентския скрипт на SilentShield `https://api.silentshield.io/client.js?k=ТВОЯТ_API_КЛЮЧ` към страниците си, след което провери proof-of-work нонса в PHP с едно POST към `https://api.silentshield.io/api/v1/captcha/verify-nonce`, като изпратиш ключа в хедъра `X-Api-Key`. Един API ключ покрива фронтенда и бекенда.

Има ли PHP SDK за SilentShield?

Не ти е нужен. Проверката е едно HTTP извикване, така че няколко реда чист PHP с cURL вършат работа във всяка рамка — Laravel, Symfony или никаква. Добавяш клиентския скрипт и проверяваш полето `ok` в отговора, преди да приемеш формуляра. Ако предпочиташ пакет, ръководството Agent Enforce показва инсталиране直接 от GitHub.

Как да проверя SilentShield nonce в PHP?

Изпрати `behavior_nonce`, подаден от формуляра ти, с POST към `https://api.silentshield.io/api/v1/captcha/verify-nonce`, с твоя API ключ в хедъра `X-Api-Key`. Отговорът съдържа `ok`, `verdict` и `confidence`; отхвърли изпращането, ако `ok` е false.

Работи ли SilentShield с Laravel или чист PHP?

Да. Тъй като проверката е обикновено HTTP извикване, тя работи във всяко PHP приложение — Laravel, Symfony или чист PHP. Добавяш клиентския скрипт към формулярите и проверяваш нонса от страна на сървъра, преди да обработиш изпращането.

Съвместим ли е SilentShield с GDPR на PHP бекенд?

Да. Независимо от бекенда SilentShield хоства данните в ЕС по подразбиране, не поставя бисквитки, не проследява и съхранява само псевдонимизирани данни. Твоят PHP сървър проверява нонса с едно HTTPS извикване; лични данни не напускат приложението ти.

Трябва ли потребителите на PHP сайт да решават пъзел?

Не. SilentShield е незабележим, така че посетителите на вашия PHP сайт никога не виждат пъзел с изображения или чекбокс. Клиентският скрипт проверява реалните потребители във фонов режим чрез поведенчески сигнали и proof-of-work nonce, отговаряйки на WCAG 2.1 AA, докато вашият бекенд блокира ботовете чрез `SilentShield\Client`.