SilentShield on näkymätön, tietosuoja-asetuksen mukainen CAPTCHA-vaihtoehto PHP-sovelluksiin. Lisäät lomakkeisiisi asiakasskriptin ja varmennat jokaisen lähetyksen palvelimella yhdellä HTTP-kutsulla ja yhdellä API-avaimella — mitään ei tarvitse asentaa eikä ylläpitää. Ei evästeitä, ei seurantaa, ei henkilötietoja; isännöinti on oletuksena vain EU:ssa.
Näkymätön CAPTCHA — PHP
Yksi API-avain ja muutama rivi PHP:tä — ei pakettia, ei riippuvuutta. Toimii Laravelissa, Symfonyssa tai puhtaassa PHP:ssä. Näkymätön, tietosuoja-asetuksen mukainen, käytössä minuuteissa.

PHP Developer Features
Koodiesimerkit
Vaatimukset
# No package, no dependency.
# PHP 8.1 or newer with the cURL extension — that is all.
php -m | grep curlFrontend-upotus
<!-- 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);
})();Taustajärjestelmän vahvistus
<?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']));
}Näin SilentShield toimii PHP:ssä
SilentShield lisää PHP-lomakkeisiisi näkymättömän tarkistuksen ja vahvistaa jokaisen lähetyksen palvelimella. Asiakasskripti toimii taustalla, kun kävijä täyttää lomaketta, ja luotu token lähetetään pyynnön mukana. PHP-taustajärjestelmäsi vahvistaa tokenin ennen käsittelyä, joten oikeille käyttäjille ei koskaan näytetä pulmatehtävää.
Yksi kutsu, yksi API-avain
Varmennus on yksi POST osoitteeseen https://api.silentshield.io/api/v1/captcha/verify-nonce, avain X-Api-Key-otsakkeessa. Lue vastauksesta ok ja hylkää lähetys, jos se on false. Samat viisi riviä toimivat puhtaassa PHP:ssä kuten Laravelissa tai Symfonyssa — HTTP-kutsussa ei ole mitään kehyskohtaista.
Käyttöönotto vaihe vaiheelta
Lisää SilentShieldin asiakasskripti https://api.silentshield.io/client.js?k=YOUR_API_KEY lomakkeeseesi ja kopioi API-avaimesi hallintapaneelista. Kun lomake lähetetään, lue token pyynnöstä, luo SilentShield\Client ja kutsu verify. Kun tarkistus onnistuu, käsittele lomake; muussa tapauksessa palauta 403-vastaus ja hylkää lähetys.
Yksityisyys ja saavutettavuus oletuksena
SilentShield ei käytä evästeitä, seurantaa eikä henkilötietoja, mikä pitää PHP-lomakkeesi yleisen tietosuoja-asetuksen mukaisina. Kaikki vahvistus tapahtuu oletuksena infrastruktuurissa, joka sijaitsee vain EU:ssa. Koska kuva- tai äänipulmia ei ole, suojaus täyttää WCAG 2.1 AA -tason ja pysyy saavutettavana näppäimistön ja ruudunlukijan käyttäjille.