WordPress-űrlapok védelme a SilentShielddel
A hivatalos „SilentShield – Captcha & Anti-Spam” bővítmény beilleszti a szkriptet, és minden beküldést ellenőriz az Ön szerverén — saját kód nélkül. Ez az útmutató csak azt sorolja fel, amit mi magunk teszteltünk a bővítménnyel.
A bővítmény megtekintése a WordPress-könyvtárban
Feltételek
- WordPress 5.2 vagy újabb és PHP 7.4 vagy újabb (a bővítmény WordPress-könyvtárbeli adatai szerint).
- Webhelye https-en keresztül fut. Biztonságos környezet nélkül a böngésző nem biztosít Web Crypto funkciókat, nem jön létre nonce, és a védett űrlapok nem küldhetők el.
- SilentShield-fiók egy, az Ön domainjéhez tartozó kulccsal. Az olyan aldomainek, mint a www. vagy a staging., ebbe beletartoznak.
Mely űrlapok védhetők
Tesztelve: 2026. 10. 07., 2.15.14 bővítménnyel és WordPress 7.1.2 verzióval: az ember átjut, és a szerveren megerősítést kap, a böngésző nélküli beküldést a rendszer elutasítja.
| Űrlap | Tesztelt verzió | Állapot |
|---|---|---|
| Contact Form 7 | 6.2 | Működik |
| Fluent Forms | 6.2.15 | Működik |
| WordPress-hozzászólások | 7.1.2 | Működik |
| WordPress-bejelentkezés | 7.1.2 | Működik |
| WordPress-regisztráció | 7.1.2 | Működik |
| WooCommerce pénztár (klasszikus) | 11.1.2 | Működik |
| WPForms | 2.0.2.2 | Működik |
| WooCommerce pénztár (blokkos pénztár) | 11.1.2 | Működik |
| Elementor Forms | 4.3.4 (Pro 4.2.1) | Működik |
| Avada Forms | 7.11.7 | Működik |
Telepítés
- A WordPressben nyissa meg a „Bővítmények → Új hozzáadása” menüpontot, és keressen rá a „SilentShield” kifejezésre.
- Telepítse és kapcsolja be a „SilentShield – Captcha & Anti-Spam for WordPress” bővítményt.
- A menüben megjelenik a „SilentShield” menüpont.
A kulcs megadása és az űrlapok bekapcsolása
- Hozzon létre egy kulcsot a domainjéhez a SilentShield irányítópulton, és másolja ki.
- A WordPressben nyissa meg a „SilentShield → API / SilentShield” oldalt, illessze be a kulcsot az „API Key” mezőbe, és kattintson a „Validate” gombra.
- Kapcsolja be az „Activate API” opciót, és kattintson a „Save” gombra.
- Nyissa meg a „SilentShield → Forms” oldalt, és kapcsolja be a védelmet minden olyan űrlapbővítménynél, amely a fenti táblázatban „Működik” jelölést kapott.
A bővítmény a webhelykulcsot használja a böngészőben és az Ön szerverén végzett ellenőrzéshez is. Ehhez nincs szükség szerverkulcsra.
Szerverkulcs az f12-security bővítményhez
Az f12-security bővítmény opcionálisan botokra vonatkozó jelzéseket cserélhet a SilentShielddel: jelenti az ismert botok ujjlenyomatait, és letölt egy aláírt listát az Ön fiókjához. Ezeket a hívásokat az Ön szervere indítja, nem a látogatók böngészője. Ehhez a bővítménynek az Ön domainjének szerverkulcsára van szüksége — nem a megszokott webhelykulcsra, amely az oldalai forráskódjában látható.
- A SilentShield irányítópultján nyissa meg az „API-kulcsok” menüpontot, majd a domainjéhez tartozó kulcsot.
- Lépjen a „Biztonság” oldalra, és a „Szerverkulcs” szakaszban kattintson a „Szerverkulcs létrehozása” gombra.
- Az értéket azonnal másolja ki. Csak ez az egy alkalom látható, és mi nem őrzünk másolatot.
- Írja be az f12-security bővítményben a szerverkulcsként feliratozott mezőbe, majd mentse.
A szerverkulcs kizárólag a szervere beállításaiba tartozik, soha nem a látogatóknak kiszolgált oldalba vagy szkriptbe. Ha elveszíti, hozzon létre újat az irányítópulton; a régi ezzel érvénytelenné válik.
A működés ellenőrzése
Valódi beküldés
Nyissa meg az űrlapot tartalmazó oldalt egy privát ablakban, töltse ki kézzel, és küldje el. Az űrlap szokásos visszaigazolását látja, a beküldés pedig az ítéletével együtt megjelenik a SilentShield irányítópulton.
Elutasított beküldés
Küldje el ugyanezt böngésző nélkül, például egy hozzászólást curl segítségével egy nyitott hozzászólású bejegyzéshez. Cserélje ki a címet és a bejegyzés azonosítóját:
curl -i -X POST https://example.com/wp-comments-post.php \
-d "comment_post_ID=1&author=Test&[email protected]&comment=Test"Elutasítás várható a bővítmény üzenetével, angol nyelvű webhelyen: „Captcha not correct: Behavior check”. Contact Form 7 esetén az űrlapon a „Behavior check” szöveg jelenik meg.
Hibaelhárítás
- A „Küldés” gombra kattintva nem történik semmi.
- Az oldal http-n fut https helyett? A böngésző konzolja ekkor ezt a figyelmeztetést mutatja: „[SilentShield] Web Crypto fehlt im Worker …” (az üzenet német nyelvű). Szolgálja ki az oldalt https-en keresztül.
- A Contact Form 7 ezt jelzi: „There was an error trying to send your message”.
- Az ellenőrzés sikeres volt; a WordPress levélküldése hiúsult meg. A levelezési beállításokat ellenőrizze (például SMTP), ne a botvédelmet.
- Valódi látogatók a „Behavior check” üzenetet kapják.
- A leggyakoribb ok egy optimalizáló bővítmény, amely késlelteti vagy összevonja a JavaScriptet — lásd az alábbi megjegyzést. Ellenőrizze azt is, hogy a kulcs az oldal domainjéhez tartozik-e.
- Egy WPForms-űrlap nem küldhető el, vagy a blokkos pénztár minden rendelést elutasít.
- Frissítse a SilentShield bővítményt a 2.15.14-es vagy újabb verzióra. Mindkét problémát a 2.15.12-es verziónál mértük; a 2.15.14-esnél már nem jelentkeznek.
- Szeretné látni, mit csinál a szkript.
- Fűzze hozzá a ?silentshield-debug paramétert az oldal címéhez. A böngésző konzolja ekkor az ellenőrzés minden lépését mutatja.
Zárja ki a SilentShieldet a JavaScript-optimalizálókból
A gyorsítótár- és sebességnövelő bővítmények (WP Rocket, Perfmatters, LiteSpeed, Autoptimize és mások) képesek a JavaScriptet a látogató első interakciójáig késleltetni, és a fájlokat egyetlen csomagba vonni. Mindkettő tönkreteszi a SilentShieldet: a widget csak kattintásra indul, hiányoznak az oldalbetöltéstől számított viselkedési jelek (egérmozgás, gépelési ritmus, időzítés), és a védelem töredéknyi adatból dolgozik. Az űrlapvizsgálatok egyáltalán nem futnak. Vegye fel ezeket a mintákat az optimalizáló kizárási listáira — a „JavaScript késleltetése” ÉS az „JavaScript egyesítése” beállításnál is:
client.js
behavior-captcha
silentshieldEllenőrzés: nyisson meg egy űrlapot tartalmazó oldalt, és futtassa a performance.getEntriesByType("resource").map(r=>r.name).filter(n=>n.includes("client.js")).join() parancsot a böngészőkonzolban, kattintás NÉLKÜL. Az üres eredmény azt jelenti, hogy a SilentShield még nem töltődött be — hiányzik egy kizárás.
Korlátok
- Csak azok az űrlapbővítmények védettek, amelyeket a „SilentShield → Forms” alatt bekapcsol.
- Csak tesztelt verziókat sorolunk fel. A bővítmény további űrlapbővítményeket is felismer; azt, hogy ezek működnek-e a SilentShielddel, nem teszteltük.
- A bővítmény saját ellenőrzéseket is tartalmaz (például honeypot és időmérés), és ezekhez saját üzeneteket jelenít meg, mint a „JavaScript check”.
- A SilentShield a botoktól védi az űrlapokat. Nem helyettesít webalkalmazás-tűzfalat vagy DDoS-védelmet.
Üzemeltetés
- A bővítményt a WordPressen keresztül frissíti, mint bármely mást. A böngészőben futó szkript mindig az aktuális verzióban érkezik tőlünk.
- Minden beküldés kétszer számít bele a keretbe: egyszer a böngészőből érkező jelentés, egyszer az Ön szerverén végzett ellenőrzés.
- Az ítéleteket és az elutasított beküldéseket a SilentShield irányítópulton látja.
Bővítmény nélkül: saját integráció
Saját űrlapokhoz vagy bővítmény nélkül illessze be saját maga a szkriptet, és ellenőrizzen minden beküldést a szerverén. Ezen ellenőrzés nélkül a szkript nem véd: a közvetlenül küldött kérést nem állítja meg.
1. A script hozzáadása
Adja hozzá ezt a kódot a témája functions.php fájljához, vagy használjon egy bővítményt, például az 'Insert Headers and Footers'-t:
// 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. Szerveroldali ellenőrzés
Adja hozzá a nonce-ellenőrzést az űrlapkezelőjéhez. Egyedi űrlapoknál illessze be ezt a feldolgozó függvénybe:
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));
}
}Az API-kulcs tárolása
A biztonság érdekében adja hozzá API-kulcsát a wp-config.php fájlhoz:
// wp-config.php
define('SILENTSHIELD_API_KEY', 'your-api-key-here');MI-ügynökök megfigyelése
Az űrlapvédelmen túl a WordPress azt is rögzítheti, mely AI-crawlerek (GPTBot, ClaudeBot, PerplexityBot, …) olvassák a webhelyét — ma egy kis must-use bővítményfájllal; egy közelgő bővítményfrissítés ezt beépítve hozza.