SilentShield

Apsaugokite WordPress formas su SilentShield

Oficialus įskiepis „SilentShield – Captcha & Anti-Spam“ įterpia scenarijų ir tikrina kiekvieną pateikimą jūsų serveryje — be jūsų pačių kodo. Šiame vadove nurodoma tik tai, ką su įskiepiu patikrinome patys.

Peržiūrėti įskiepį WordPress kataloge

Reikalavimai

  • WordPress 5.2 ar naujesnė ir PHP 7.4 ar naujesnė versija (pagal įskiepio duomenis WordPress kataloge).
  • Jūsų svetainė veikia per https. Be saugaus konteksto naršyklė nesuteikia Web Crypto funkcijų, nesukuriamas nonce, o apsaugotų formų pateikti neįmanoma.
  • SilentShield paskyra su raktu jūsų domenui. Subdomenai, tokie kaip www. ar staging., yra įtraukti.

Kurias formas galima apsaugoti

Patikrinta 2026-10-07 su įskiepiu 2.15.14 ir WordPress 7.1.2: žmogus praeina ir yra patvirtinamas serveryje, pateikimas be naršyklės atmetamas.

FormaPatikrinta versijaBūsena
Contact Form 76.2Veikia
Fluent Forms6.2.15Veikia
WordPress komentarai7.1.2Veikia
WordPress prisijungimas7.1.2Veikia
WordPress registracija7.1.2Veikia
WooCommerce atsiskaitymas (klasikinis)11.1.2Veikia
WPForms2.0.2.2Veikia
WooCommerce atsiskaitymas (blokinis)11.1.2Veikia
Elementor Forms4.3.4 (Pro 4.2.1)Veikia
Avada Forms7.11.7Veikia

Diegimas

  1. WordPress atidarykite „Įskiepiai → Pridėti naują“ ir ieškokite „SilentShield“.
  2. Įdiekite ir aktyvuokite „SilentShield – Captcha & Anti-Spam for WordPress“.
  3. Meniu atsiranda įrašas „SilentShield“.

Įveskite raktą ir įjunkite formas

  1. SilentShield valdymo skydelyje sukurkite raktą savo domenui ir jį nukopijuokite.
  2. WordPress atidarykite „SilentShield → API / SilentShield“, įklijuokite raktą lauke „API Key“ ir spustelėkite „Validate“.
  3. Įjunkite „Activate API“ ir spustelėkite „Save“.
  4. Atidarykite „SilentShield → Forms“ ir įjunkite apsaugą kiekvienam formų įskiepiui, kuris lentelėje aukščiau pažymėtas kaip „Veikia“.

Įskiepis naudoja svetainės raktą ir naršyklėje, ir tikrinimui jūsų serveryje. Serverio rakto tam nereikia.

Patikrinkite, ar veikia

Tikras pateikimas

Atidarykite puslapį su forma privačiame lange, užpildykite ją ranka ir pateikite. Matysite įprastą formos patvirtinimą, o pateikimas su verdiktu atsiras SilentShield valdymo skydelyje.

Atmestas pateikimas

Nusiųskite tą patį be naršyklės, pavyzdžiui, komentarą per curl į įrašą su atvirais komentarais. Pakeiskite adresą ir įrašo ID:

Terminalbash
curl -i -X POST https://example.com/wp-comments-post.php \
  -d "comment_post_ID=1&author=Test&[email protected]&comment=Test"

Tikėkitės atmetimo su įskiepio pranešimu, angliškoje svetainėje „Captcha not correct: Behavior check“. Su Contact Form 7 forma rodo „Behavior check“.

Trikčių šalinimas

Spustelėjus „Siųsti“ nieko nevyksta.
Ar puslapis pateikiamas per http, o ne per https? Tada naršyklės konsolė rodo įspėjimą „[SilentShield] Web Crypto fehlt im Worker …“ (pranešimas yra vokiečių kalba). Pateikite puslapį per https.
Contact Form 7 praneša „There was an error trying to send your message“.
Patikra praeita; nepavyko WordPress laiško siuntimas. Tikrinkite pašto nustatymus (pavyzdžiui, SMTP), o ne apsaugą nuo robotų.
Tikri lankytojai gauna „Behavior check“.
Dažniausia priežastis — optimizavimo įskiepis, kuris atideda arba sujungia JavaScript; žr. pastabą žemiau. Taip pat patikrinkite, ar raktas priklauso puslapio domenui.
WPForms forma neišsiunčiama arba blokinis atsiskaitymas atmeta kiekvieną užsakymą.
Atnaujinkite SilentShield įskiepį į 2.15.14 ar naujesnę versiją. Abi problemas užfiksavome su 2.15.12 versija; su 2.15.14 jų nebelieka.
Norite pamatyti, ką daro scenarijus.
Prie puslapio adreso pridėkite ?silentshield-debug. Tada naršyklės konsolė rodo kiekvieną patikros žingsnį.

Neįtraukite SilentShield į JavaScript optimizavimą

Talpyklos ir greičio papildiniai (WP Rocket, Perfmatters, LiteSpeed, Autoptimize ir kiti) gali atidėti JavaScript iki pirmos lankytojo sąveikos ir sujungti failus į vieną paketą. Abu dalykai gadina SilentShield: valdiklis startuoja tik spustelėjus, trūksta elgsenos signalų nuo puslapio įkėlimo (pelės judesio, rašymo ritmo, laiko), ir apsauga dirba su dalele to, ko jai reikia. Formų nuskaitymai neveikia visiškai. Įtraukite šiuos šablonus į optimizatoriaus išimčių sąrašus — tiek „atidėti JavaScript“, tiek „sujungti JavaScript“:

Išimčių šablonaitext
client.js
behavior-captcha
silentshield

Patikrinimui: atidarykite puslapį su forma ir naršyklės konsolėje paleiskite performance.getEntriesByType("resource").map(r=>r.name).filter(n=>n.includes("client.js")).join(), PRIEŠ tai nespustelėję. Tuščias rezultatas reiškia, kad SilentShield dar neįkeltas — trūksta išimties.

Apribojimai

  • Apsaugoti tik tie formų įskiepiai, kuriuos įjungiate skiltyje „SilentShield → Forms“.
  • Nurodome tik patikrintas versijas. Įskiepis atpažįsta ir kitus formų įskiepius; ar jie veikia su SilentShield, nepatikrinome.
  • Įskiepis turi savų patikrų (pavyzdžiui, honeypot ir laiko matavimą) ir joms rodo savus pranešimus, tokius kaip „JavaScript check“.
  • SilentShield apsaugo formas nuo robotų. Jis nepakeičia žiniatinklio programų ugniasienės ar DDoS apsaugos.

Naudojimas

  • Įskiepį atnaujinate per WordPress kaip ir bet kurį kitą. Scenarijus naršyklėje visada gaunamas iš mūsų naujausia versija.
  • Kiekvienas pateikimas į kvotą įskaičiuojamas du kartus: vieną kartą už pranešimą iš naršyklės, vieną kartą už patikrą jūsų serveryje.
  • Verdiktus ir atmestus pateikimus matote SilentShield valdymo skydelyje.

Peržiūrėti kainas ir kvotas

Be įskiepio: savas integravimas

Savoms formoms arba be įskiepio scenarijų įterpkite patys ir tikrinkite kiekvieną pateikimą savo serveryje. Be šios patikros scenarijus neapsaugo: tiesiogiai išsiųstos užklausos jis nesustabdo.

1. Pridėkite skriptą

Pridėkite šį kodą prie savo temos functions.php arba naudokite įskiepį, pavyzdžiui, „Insert Headers and Footers":

functions.phpphp
// functions.php
function silentshield_enqueue() {
    wp_enqueue_script(
        'silentshield',
        'https://api.silentshield.io/client.js?k=YOUR_API_KEY',
        array(),
        null,
        true
    );
}
add_action('wp_enqueue_scripts', 'silentshield_enqueue');

2. Serverio pusės patikra

Pridėkite nonce patikrą prie savo formos apdorojimo. Pasirinktinėms formoms pridėkite tai prie savo apdorojimo funkcijos:

PHPphp
function verify_silentshield_nonce() {
    $nonce = sanitize_text_field($_POST['behavior_nonce'] ?? '');
    if (empty($nonce)) {
        wp_die('Missing verification', 'Error', array('response' => 422));
    }

    $response = wp_remote_post('https://api.silentshield.io/api/v1/captcha/verify-nonce', array(
        'headers' => array(
            'Content-Type' => 'application/json',
            'X-Api-Key' => SILENTSHIELD_API_KEY,
        ),
        'body' => wp_json_encode(array('nonce' => $nonce)),
        'timeout' => 5,
    ));

    if (is_wp_error($response)) {
        return; // fail open
    }

    $body = json_decode(wp_remote_retrieve_body($response), true);
    if (($body['ok'] ?? false) !== true || ($body['verdict'] ?? '') !== 'human') {
        wp_die('Bot detected', 'Forbidden', array('response' => 403));
    }
}

API rakto saugojimas

Pridėkite savo API raktą prie wp-config.php dėl saugumo:

wp-config.phpphp
// wp-config.php
define('SILENTSHIELD_API_KEY', 'your-api-key-here');

Stebėti DI agentus

Be formų apsaugos, WordPress taip pat gali fiksuoti, kurios AI naršyklės (GPTBot, ClaudeBot, PerplexityBot, …) skaito jūsų svetainę — jau šiandien su mažu must-use failu; būsimas papildinio atnaujinimas tai integruos.

Sužinokite daugiau: Stebėti DI agentus →