Zaštitite WordPress obrasce sa SilentShieldom
Službeni dodatak „SilentShield – Captcha & Anti-Spam“ ugrađuje skriptu i provjerava svako slanje na vašem poslužitelju — bez vlastitog koda. Ove upute navode samo ono što smo s dodatkom sami provjerili.
Pogledajte dodatak u WordPress direktoriju
Preduvjeti
- WordPress 5.2 ili noviji i PHP 7.4 ili noviji (prema navodu dodatka u WordPress direktoriju).
- Vaše web-mjesto radi preko https. Bez sigurnog konteksta preglednik ne pruža Web Crypto funkcije, ne nastaje nonce, a zaštićeni obrasci ne mogu se poslati.
- SilentShield račun s ključem za vašu domenu. Poddomene poput www. ili staging. su uključene.
Koji se obrasci mogu zaštititi
Provjereno 07. 10. 2026. s dodatkom 2.15.14 i WordPressom 7.1.2: čovjek prolazi i potvrđen je na poslužitelju, a slanje bez preglednika se odbija.
| Obrazac | Provjerena verzija | Status |
|---|---|---|
| Contact Form 7 | 6.2 | Radi |
| Fluent Forms | 6.2.15 | Radi |
| WordPress komentari | 7.1.2 | Radi |
| WordPress prijava | 7.1.2 | Radi |
| WordPress registracija | 7.1.2 | Radi |
| WooCommerce blagajna (klasična) | 11.1.2 | Radi |
| WPForms | 2.0.2.2 | Radi |
| WooCommerce blagajna (blok blagajna) | 11.1.2 | Radi |
| Elementor Forms | 4.3.4 (Pro 4.2.1) | Radi |
| Avada Forms | 7.11.7 | Radi |
Instalacija
- U WordPressu otvorite „Dodaci → Dodaj novi“ i potražite „SilentShield“.
- Instalirajte i aktivirajte „SilentShield – Captcha & Anti-Spam for WordPress“.
- U izborniku se pojavljuje stavka „SilentShield“.
Unesite ključ i uključite obrasce
- U SilentShield nadzornoj ploči izradite ključ za svoju domenu i kopirajte ga.
- U WordPressu otvorite „SilentShield → API / SilentShield“, zalijepite ključ pod „API Key“ i kliknite „Validate“.
- Uključite „Activate API“ i kliknite „Save“.
- Otvorite „SilentShield → Forms“ i uključite zaštitu za svaki dodatak za obrasce koji je u gornjoj tablici označen kao „Radi“.
Dodatak koristi ključ web-mjesta i u pregledniku i za provjeru na vašem poslužitelju. Ključ poslužitelja za to nije potreban.
Poslužiteljski ključ za dodatak f12-security
Dodatak f12-security može po želji razmjenjivati sa SilentShieldom naznake o botovima: prijavljuje otiske poznatih botova i preuzima potpisani popis za Vaš račun. Te pozive obavlja Vaš poslužitelj, a ne preglednik Vaših posjetitelja. Za to dodatku treba poslužiteljski ključ Vaše domene — a ne uobičajeni ključ web-mjesta koji se vidi u izvornom kodu Vaših stranica.
- U SilentShield nadzornoj ploči otvorite „API ključevi“ i ključ Vaše domene.
- Prijeđite na stranicu „Sigurnost“ i u odjeljku „Poslužiteljski ključ“ kliknite „Izradi poslužiteljski ključ“.
- Odmah kopirajte vrijednost. Prikazuje se samo ovaj jedan put, a mi ne čuvamo kopiju.
- Unesite je u f12-security u polje označeno kao poslužiteljski ključ i spremite.
Poslužiteljski ključ pripada isključivo postavkama Vašeg poslužitelja, nikada stranici ili skripti koja se isporučuje posjetiteljima. Ako ga izgubite, izradite novi na nadzornoj ploči; stari tada prestaje vrijediti.
Provjerite rad
Pravo slanje
Otvorite stranicu s obrascem u privatnom prozoru, ispunite ga ručno i pošaljite. Vidjet ćete uobičajenu potvrdu svojeg obrasca, a slanje se s presudom pojavljuje u SilentShield nadzornoj ploči.
Odbijeno slanje
Pošaljite isto bez preglednika, primjerice komentar putem curl na objavu s otvorenim komentarima. Zamijenite adresu i ID objave:
curl -i -X POST https://example.com/wp-comments-post.php \
-d "comment_post_ID=1&author=Test&[email protected]&comment=Test"Očekujte odbijanje s porukom dodatka, na web-mjestu na engleskom „Captcha not correct: Behavior check“. Kod Contact Form 7 obrazac prikazuje „Behavior check“.
Otklanjanje poteškoća
- Klikom na „Pošalji“ ništa se ne događa.
- Poslužuje li se stranica preko http umjesto https? Konzola preglednika tada prikazuje upozorenje „[SilentShield] Web Crypto fehlt im Worker …“ (poruka je na njemačkom). Poslužujte stranicu preko https.
- Contact Form 7 javlja „There was an error trying to send your message“.
- Provjera je prošla; nije uspjelo slanje e-pošte iz WordPressa. Provjerite postavke e-pošte (primjerice SMTP), a ne zaštitu od botova.
- Stvarni posjetitelji dobivaju „Behavior check“.
- Najčešći uzrok je dodatak za optimizaciju koji odgađa ili spaja JavaScript — pogledajte napomenu u nastavku. Provjerite i pripada li ključ domeni stranice.
- WPForms obrazac se ne šalje ili blok blagajna odbija svaku narudžbu.
- Ažurirajte dodatak SilentShield na verziju 2.15.14 ili noviju. Oba problema izmjerili smo s verzijom 2.15.12; s verzijom 2.15.14 više se ne pojavljuju.
- Želite vidjeti što skripta radi.
- Dodajte ?silentshield-debug adresi stranice. Konzola preglednika tada prikazuje svaki korak provjere.
Izuzmite SilentShield iz JavaScript optimizatora
Dodaci za predmemoriju i brzinu (WP Rocket, Perfmatters, LiteSpeed, Autoptimize i drugi) mogu odgoditi JavaScript do prve interakcije posjetitelja i spojiti datoteke u jedan paket. Oboje lomi SilentShield: widget se pokreće tek na klik, nedostaju signali ponašanja od učitavanja stranice (pomak miša, ritam tipkanja, vremena), a zaštita radi s djelićem onoga što joj treba. Skeniranja obrazaca uopće ne rade. Dodajte ove uzorke na popise iznimaka svog optimizatora — i za „odgodi JavaScript” i za „spoji JavaScript”:
client.js
behavior-captcha
silentshieldZa provjeru: otvorite stranicu s obrascem i u konzoli preglednika pokrenite performance.getEntriesByType("resource").map(r=>r.name).filter(n=>n.includes("client.js")).join(), BEZ prethodnog klika. Prazan rezultat znači da se SilentShield još nije učitao — nedostaje iznimka.
Ograničenja
- Zaštićeni su samo dodaci za obrasce koje uključite pod „SilentShield → Forms“.
- Navodimo samo provjerene verzije. Dodatak prepoznaje i druge dodatke za obrasce; jesu li kompatibilni sa SilentShieldom, nismo provjerili.
- Dodatak ima vlastite provjere (poput honeypota i mjerenja vremena) i za njih prikazuje vlastite poruke, primjerice „JavaScript check“.
- SilentShield štiti obrasce od botova. Ne zamjenjuje vatrozid web-aplikacija (WAF) ni zaštitu od DDoS napada.
Rad
- Dodatak ažurirate putem WordPressa kao i svaki drugi. Skripta u pregledniku uvijek dolazi od nas u aktualnoj verziji.
- Svako slanje dvaput se ubraja u kvotu: jednom za dojavu iz preglednika, jednom za provjeru na vašem poslužitelju.
- Presude i odbijena slanja vidite u SilentShield nadzornoj ploči.
Bez dodatka: vlastita integracija
Za vlastite obrasce ili bez dodatka sami ugradite skriptu i provjeravajte svako slanje na svojem poslužitelju. Bez te provjere skripta ne štiti: izravno poslan zahtjev ne zaustavlja.
1. Dodajte skriptu
Dodajte ovaj kod u functions.php datoteku svoje teme ili koristite dodatak poput 'Insert Headers and Footers':
// 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. Provjera na poslužitelju
Dodajte provjeru noncea u svoj obrađivač obrasca. Za prilagođene obrasce dodajte ovo u svoju funkciju za obradu:
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));
}
}Spremanje API ključa
Dodajte svoj API ključ u wp-config.php radi sigurnosti:
// wp-config.php
define('SILENTSHIELD_API_KEY', 'your-api-key-here');Promatranje AI agenata
Osim zaštite obrazaca, WordPress može bilježiti i koji AI crawleri (GPTBot, ClaudeBot, PerplexityBot, …) čitaju vašu stranicu — danas putem male must-use datoteke; nadolazeće ažuriranje dodatka to će ugraditi.