SilentShield

Protejați formularele WordPress cu SilentShield

Modulul oficial „SilentShield – Captcha & Anti-Spam” adaugă scriptul și verifică fiecare trimitere pe serverul dumneavoastră — fără cod propriu. Acest ghid enumeră doar ceea ce am testat noi înșine cu modulul.

Vedeți modulul în directorul WordPress

Cerințe

  • WordPress 5.2 sau mai nou și PHP 7.4 sau mai nou (conform informațiilor modulului din directorul WordPress).
  • Site-ul dumneavoastră rulează prin https. Fără un context securizat, browserul nu oferă funcții Web Crypto, nu se creează niciun nonce, iar formularele protejate nu pot fi trimise.
  • Un cont SilentShield cu o cheie pentru domeniul dumneavoastră. Subdomeniile precum www. sau staging. sunt incluse.

Ce formulare pot fi protejate

Testat pe 07.10.2026 cu modulul 2.15.14 și WordPress 7.1.2: un om trece și este confirmat pe server, o trimitere fără browser este respinsă.

FormularVersiune testatăStare
Contact Form 76.2Funcționează
Fluent Forms6.2.15Funcționează
Comentarii WordPress7.1.2Funcționează
Autentificare WordPress7.1.2Funcționează
Înregistrare WordPress7.1.2Funcționează
Finalizare comandă WooCommerce (clasică)11.1.2Funcționează
WPForms2.0.2.2Funcționează
Finalizare comandă WooCommerce (bloc)11.1.2Funcționează
Elementor Forms4.3.4 (Pro 4.2.1)Funcționează
Avada Forms7.11.7Funcționează

Instalare

  1. În WordPress, deschideți „Module → Adaugă nou” și căutați „SilentShield”.
  2. Instalați și activați „SilentShield – Captcha & Anti-Spam for WordPress”.
  3. În meniu apare acum intrarea „SilentShield”.

Introduceți cheia și activați formularele

  1. Creați în panoul de control SilentShield o cheie pentru domeniul dumneavoastră și copiați-o.
  2. În WordPress, deschideți „SilentShield → API / SilentShield”, lipiți cheia la „API Key” și faceți clic pe „Validate”.
  3. Activați „Activate API” și faceți clic pe „Save”.
  4. Deschideți „SilentShield → Forms” și activați protecția pentru fiecare modul de formulare marcat ca „Funcționează” în tabelul de mai sus.

Modulul folosește cheia site-ului atât în browser, cât și pentru verificarea pe serverul dumneavoastră. Pentru aceasta nu este necesară o cheie de server.

Verificați funcționarea

O trimitere reală

Deschideți pagina cu formularul într-o fereastră privată, completați-l manual și trimiteți-l. Vedeți confirmarea obișnuită a formularului, iar trimiterea apare cu verdictul ei în panoul de control SilentShield.

O trimitere respinsă

Trimiteți același lucru fără browser, de exemplu un comentariu prin curl la un articol cu comentarii deschise. Înlocuiți adresa și ID-ul articolului:

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

Este de așteptat o respingere cu mesajul modulului, pe un site în limba engleză „Captcha not correct: Behavior check”. Cu Contact Form 7, formularul afișează „Behavior check”.

Depanare

Nu se întâmplă nimic la clic pe „Trimite”.
Pagina este servită prin http în loc de https? Consola browserului afișează atunci avertismentul „[SilentShield] Web Crypto fehlt im Worker …” (mesajul este în limba germană). Serviți pagina prin https.
Contact Form 7 raportează „There was an error trying to send your message”.
Verificarea a trecut; a eșuat trimiterea e-mailului de către WordPress. Verificați setările de e-mail (de exemplu SMTP), nu protecția împotriva boților.
Vizitatorii reali primesc „Behavior check”.
Cea mai frecventă cauză este un modul de optimizare care întârzie sau combină JavaScript — vedeți nota de mai jos. Verificați și dacă cheia aparține domeniului paginii.
Un formular WPForms nu se trimite sau finalizarea comenzii bazată pe blocuri respinge fiecare comandă.
Actualizați pluginul SilentShield la versiunea 2.15.14 sau mai nouă. Am măsurat ambele probleme cu versiunea 2.15.12; cu 2.15.14 nu mai apar.
Doriți să vedeți ce face scriptul.
Adăugați ?silentshield-debug la adresa paginii. Consola browserului afișează atunci fiecare pas al verificării.

Excludeți SilentShield din optimizatoarele JavaScript

Pluginurile de cache și viteză (WP Rocket, Perfmatters, LiteSpeed, Autoptimize și altele) pot amâna JavaScript până la prima interacțiune a vizitatorului și pot combina fișierele într-un singur pachet. Ambele strică SilentShield: widgetul pornește abia la un clic, lipsesc semnalele de comportament de la încărcarea paginii (mișcarea mouse-ului, ritmul de tastare, temporizarea), iar protecția lucrează cu o fracțiune din ce îi trebuie. Scanările de formulare nu rulează deloc. Adăugați aceste tipare în listele de excludere ale optimizatorului — atât pentru „amână JavaScript”, cât și pentru „combină JavaScript”:

Tipare de excluderetext
client.js
behavior-captcha
silentshield

Pentru verificare: deschideți o pagină cu formular și rulați performance.getEntriesByType("resource").map(r=>r.name).filter(n=>n.includes("client.js")).join() în consola browserului FĂRĂ să dați clic înainte. Un rezultat gol înseamnă că SilentShield nu s-a încărcat încă — lipsește o excludere.

Limitări

  • Sunt protejate doar modulele de formulare pe care le activați la „SilentShield → Forms”.
  • Enumerăm doar versiunile testate. Modulul detectează și alte module de formulare; dacă funcționează cu SilentShield nu am testat.
  • Modulul are verificări proprii (precum honeypot și măsurarea timpului) și afișează pentru ele mesaje proprii, precum „JavaScript check”.
  • SilentShield protejează formularele împotriva boților. Nu înlocuiește un firewall pentru aplicații web sau protecția DDoS.

Funcționare

  • Actualizați modulul prin WordPress, ca pe oricare altul. Scriptul din browser vine întotdeauna de la noi, în versiunea curentă.
  • Fiecare trimitere se contorizează de două ori în cotă: o dată pentru raportul din browser, o dată pentru verificarea pe serverul dumneavoastră.
  • Verdictele și trimiterile respinse le vedeți în panoul de control SilentShield.

Vedeți prețurile și cotele

Fără modul: integrare proprie

Pentru formulare proprii sau fără modul, adăugați singur scriptul și verificați fiecare trimitere pe serverul dumneavoastră. Fără această verificare scriptul nu protejează: nu oprește o cerere trimisă direct.

1. Adăugați scriptul

Adăugați acest cod în fișierul functions.php al temei dumneavoastră sau folosiți un plugin precum „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. Verificare pe server

Adăugați verificarea nonce-ului la handler-ul formularului dumneavoastră. Pentru formulare personalizate, adaugă acest lucru în funcția de procesare:

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

Stocarea cheii API

Adăugați cheia dumneavoastră API în wp-config.php pentru securitate:

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

Observarea agenților AI

Dincolo de protecția formularelor, WordPress poate înregistra și ce crawlere AI (GPTBot, ClaudeBot, PerplexityBot, …) vă citesc site-ul — astăzi printr-un mic fișier must-use plugin; o viitoare actualizare a pluginului îl va integra.

Aflați mai multe: Observarea agenților AI →