Oferta para novos clientes−20 %20 % de desconto nos primeiros 3 meses com pagamento mensalVer planos
SilentShield

O SilentShield é uma alternativa invisível ao CAPTCHA, conforme o RGPD, para aplicações PHP. Adiciona um script de cliente aos seus formulários e verifica cada submissão do lado do servidor com uma única chamada HTTP e uma chave API — nada para instalar, nada para manter. Sem cookies, sem rastreio entre sites e, por predefinição, com alojamento na UE.

CAPTCHA invisível para PHP

Uma chave de API e algumas linhas de PHP — sem necessidade de pacotes. Funciona em Laravel, Symfony ou PHP puro. Invisível e em conformidade com o RGPD.

Integração de CAPTCHA em PHP

PHP Developer Features

Sem dependência — cinco linhas de PHP simples
Compatível com PHP 8.1+
Independente de framework — Laravel, Symfony ou PHP puro
Baseado em nonce — invisível, sem interação do utilizador
Uma chave API, uma chamada: POST /captcha/verify-nonce
Numa falha da API, a decisão é sua: o exemplo rejeita, uma linha deixa passar os envios

Exemplos de código

Requisitos

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

Incorporação no frontend

<!-- In <head> or before </body> of every page with a form -->
<script src="https://api.silentshield.io/client.js?k=YOUR_API_KEY" defer></script>

Verificação no backend

<?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/api/v1/captcha/verify-nonce");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
  "Content-Type: application/json",
  "X-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']));
}

Como funciona o SilentShield em PHP

O SilentShield adiciona uma verificação invisível aos seus formulários PHP e verifica cada submissão no servidor. O script de cliente é executado em segundo plano enquanto o visitante preenche o formulário, e o token gerado é enviado com o pedido. O seu backend PHP confirma o token antes do processamento, pelo que os utilizadores reais nunca veem um enigma.

Uma chamada, uma chave API

A verificação é um único POST para https://api.silentshield.io/api/v1/captcha/verify-nonce com a sua chave no cabeçalho X-Api-Key. Leia ok na resposta e recuse a submissão quando for false. As mesmas cinco linhas funcionam em PHP simples tal como em Laravel ou Symfony — numa chamada HTTP não há nada específico de framework.

Guia de configuração

Adicione o script de cliente do SilentShield https://api.silentshield.io/client.js?k=YOUR_API_KEY ao seu formulário e copie a sua chave API a partir do painel. Ao submeter, leia o token do pedido, crie um SilentShield\Client e chame verify. Quando a verificação for bem-sucedida, processe o formulário; caso contrário, devolva uma resposta 403 e rejeite a submissão.

Privacidade e acessibilidade por predefinição

O SilentShield não usa cookies nem rastreamento entre sites; o endereço IP serve apenas para a verificação e não é armazenado em texto simples. Assim, pode proteger os seus formulários PHP em conformidade com o RGPD. A verificação é executada, por predefinição, nos nossos servidores na Alemanha. Como não há enigmas de imagem ou áudio, a proteção cumpre as WCAG 2.1 AA e permanece acessível a utilizadores de teclado e de leitores de ecrã.

Integre com PHP agora

Algumas linhas de PHP — adicione o script, verifique no servidor.

Perguntas frequentes

Como adiciono um CAPTCHA a um site PHP?

Adicione às suas páginas o script de cliente `https://api.silentshield.io/client.js?k=YOUR_API_KEY` e depois verifique o nonce de proof-of-work em PHP com um único POST para `https://api.silentshield.io/api/v1/captcha/verify-nonce`, com a chave no cabeçalho `X-Api-Key`. Uma chave API cobre o frontend e o backend.

Existe um SDK PHP para o SilentShield?

Não precisa de um. A verificação é uma única chamada HTTP, por isso algumas linhas de PHP simples com cURL bastam em qualquer framework — Laravel, Symfony ou nenhum. Adiciona o script de cliente e verifica o campo `ok` da resposta antes de aceitar o formulário. Se preferir um pacote, o guia Agent Enforce mostra a instalação diretamente a partir do GitHub.

Como verifico um nonce do SilentShield em PHP?

Envie o `behavior_nonce` submetido pelo seu formulário num POST para `https://api.silentshield.io/api/v1/captcha/verify-nonce`, com a sua chave API no cabeçalho `X-Api-Key`. A resposta contém `ok`, `verdict` e `confidence`; recuse a submissão quando `ok` for false.

O SilentShield funciona com Laravel ou PHP puro?

Sim. Como a verificação é uma chamada HTTP comum, funciona em qualquer aplicação PHP — Laravel, Symfony ou PHP simples. Adiciona o script de cliente aos formulários e verifica o nonce do lado do servidor antes de processar a submissão.

O SilentShield é compatível com o RGPD num backend PHP?

Sim. Seja qual for o seu backend, o SilentShield guarda os dados nos nossos servidores na Alemanha, não define cookies, não faz rastreio entre websites e armazena o endereço IP apenas como hash. O seu servidor PHP verifica o nonce com uma única chamada HTTPS.

Os utilizadores de um site PHP precisam de resolver um enigma?

Não no modo predefinido. O script cliente verifica os utilizadores reais em segundo plano através de sinais comportamentais e de um nonce de prova de trabalho; apenas quando o resultado não é claro surge uma breve tarefa aritmética. O widget foi testado segundo a WCAG 2.1 AA, e o seu backend rejeita os bots após a verificação no servidor.