SilentShield는 PHP 애플리케이션을 위한 보이지 않는 GDPR 준수 CAPTCHA 대안입니다. 양식에 클라이언트 스크립트를 추가하고, 모든 제출을 서버에서 단 한 번의 HTTP 호출과 하나의 API 키로 검증합니다 — 설치할 것도, 관리할 것도 없습니다. 쿠키 없음, 사이트 간 추적 없음이며 호스팅은 기본적으로 EU에서 이루어집니다.
보이지 않는 CAPTCHA — PHP
API 키 하나와 PHP 몇 줄 — 패키지가 필요 없습니다. Laravel, Symfony 또는 순수 PHP에서 작동합니다. 보이지 않으며 GDPR을 준수합니다.

PHP Developer Features
코드 예제
요구 사항
# No package, no dependency.
# PHP 8.1 or newer with the cURL extension — that is all.
php -m | grep curl프런트엔드 삽입
<!-- 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>백엔드 검증
<?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']));
}PHP에서 SilentShield가 작동하는 방식
SilentShield는 PHP 양식에 보이지 않는 검사를 추가하고 각 제출을 서버에서 검증합니다. 방문자가 양식을 작성하는 동안 클라이언트 스크립트가 백그라운드에서 실행되고, 생성된 토큰이 요청과 함께 전송됩니다. PHP 백엔드가 처리 전에 토큰을 확인하므로 실제 사용자에게는 퍼즐이 표시되지 않습니다.
한 번의 호출, 하나의 API 키
검증은 https://api.silentshield.io/api/v1/captcha/verify-nonce 로의 단일 POST이며, 키는 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는 쿠키와 사이트 간 추적을 사용하지 않습니다. IP 주소는 검증에만 사용되며 평문으로 저장되지 않습니다. 따라서 PHP 양식을 GDPR에 맞춰 보호할 수 있습니다. 검증은 기본적으로 독일에 있는 당사 서버에서 실행됩니다. 이미지나 오디오 퍼즐이 없으므로 이 보호 기능은 WCAG 2.1 AA를 충족하며 키보드 및 스크린 리더 사용자가 계속 접근할 수 있습니다.
자주 묻는 질문
PHP 사이트에 CAPTCHA를 어떻게 추가합니까?
페이지에 클라이언트 스크립트 `https://api.silentshield.io/client.js?k=YOUR_API_KEY` 를 추가한 뒤, PHP에서 `https://api.silentshield.io/api/v1/captcha/verify-nonce` 로의 단일 POST로 proof-of-work 논스를 검증하세요. 키는 `X-Api-Key` 헤더로 보냅니다. API 키 하나가 프런트엔드와 백엔드를 모두 담당합니다.
SilentShield용 PHP SDK가 있습니까?
필요하지 않습니다. 검증은 한 번의 HTTP 호출이므로 cURL을 쓴 순수 PHP 몇 줄이면 Laravel, Symfony 또는 프레임워크 없이도 충분합니다. 클라이언트 스크립트를 추가하고, 양식을 수락하기 전에 응답의 `ok` 필드를 확인하세요. 패키지를 선호한다면 Agent Enforce 안내서가 GitHub에서 바로 설치하는 방법을 보여 줍니다.
PHP에서 SilentShield nonce를 어떻게 검증합니까?
양식이 제출한 `behavior_nonce` 를 `https://api.silentshield.io/api/v1/captcha/verify-nonce` 로 POST 하세요. API 키는 `X-Api-Key` 헤더에 넣습니다. 응답에는 `ok`, `verdict`, `confidence` 가 포함되며, `ok` 가 false이면 제출을 거부하세요.
SilentShield는 Laravel이나 순수 PHP와 함께 작동합니까?
예. 검증이 평범한 HTTP 호출이기 때문에 Laravel, Symfony, 순수 PHP 등 모든 PHP 애플리케이션에서 동작합니다. 양식에 클라이언트 스크립트를 추가하고, 제출을 처리하기 전에 서버에서 논스를 검증하면 됩니다.
SilentShield는 PHP 백엔드에서 GDPR을 준수합니까?
네. 어떤 백엔드를 사용하든 SilentShield는 데이터를 독일에 있는 당사 서버에 보관하고, 쿠키를 설정하지 않으며, 웹사이트 간 추적을 하지 않고, IP 주소를 해시로만 저장합니다. PHP 서버는 단 한 번의 HTTPS 호출로 nonce를 검증합니다.
PHP 사용자는 퍼즐을 풀어야 합니까?
기본 모드에서는 그렇지 않습니다. 클라이언트 스크립트는 행동 신호와 작업 증명 nonce를 통해 백그라운드에서 실제 사용자를 검증합니다. 결과가 불분명한 경우에만 짧은 산수 문제가 표시됩니다. 위젯은 WCAG 2.1 AA 기준으로 테스트되었으며, 백엔드는 서버 측 검사 후 봇을 거부합니다.