Aizsargājiet WordPress veidlapas ar SilentShield
Oficiālais spraudnis „SilentShield – Captcha & Anti-Spam“ pievieno skriptu un pārbauda katru iesniegšanu jūsu serverī — bez jūsu pašu koda. Šajā rokasgrāmatā minēts tikai tas, ko ar spraudni esam pārbaudījuši paši.
Skatīt spraudni WordPress katalogā
Prasības
- WordPress 5.2 vai jaunāka versija un PHP 7.4 vai jaunāka versija (kā norādīts spraudņa aprakstā WordPress katalogā).
- Jūsu vietne darbojas ar https. Bez droša konteksta pārlūks nenodrošina Web Crypto funkcijas, nonce netiek izveidots, un aizsargātās veidlapas nevar iesniegt.
- SilentShield konts ar atslēgu jūsu domēnam. Apakšdomēni, piemēram, www. vai staging., ir iekļauti.
Kuras veidlapas var aizsargāt
Pārbaudīts 7.10.2026. ar spraudni 2.15.14 un WordPress 7.1.2: cilvēks tiek cauri un tiek apstiprināts serverī, iesniegšana bez pārlūka tiek noraidīta.
| Veidlapa | Pārbaudītā versija | Statuss |
|---|---|---|
| Contact Form 7 | 6.2 | Darbojas |
| Fluent Forms | 6.2.15 | Darbojas |
| WordPress komentāri | 7.1.2 | Darbojas |
| WordPress pieteikšanās | 7.1.2 | Darbojas |
| WordPress reģistrācija | 7.1.2 | Darbojas |
| WooCommerce norēķini (klasiskie) | 11.1.2 | Darbojas |
| WPForms | 2.0.2.2 | Darbojas |
| WooCommerce norēķini (bloku norēķini) | 11.1.2 | Darbojas |
| Elementor Forms | 4.3.4 (Pro 4.2.1) | Darbojas |
| Avada Forms | 7.11.7 | Darbojas |
Instalēšana
- WordPress atveriet „Plugins → Add New“ un meklējiet „SilentShield“.
- Instalējiet un aktivizējiet „SilentShield – Captcha & Anti-Spam for WordPress“.
- Izvēlnē tagad ir ieraksts „SilentShield“.
Ievadiet atslēgu un ieslēdziet veidlapas
- SilentShield informācijas panelī izveidojiet atslēgu savam domēnam un nokopējiet to.
- WordPress atveriet „SilentShield → API / SilentShield“, ielīmējiet atslēgu laukā „API Key“ un noklikšķiniet uz „Validate“.
- Ieslēdziet „Activate API“ un noklikšķiniet uz „Save“.
- Atveriet „SilentShield → Forms“ un ieslēdziet aizsardzību katram veidlapu spraudnim, kas augstāk tabulā norādīts kā „Darbojas“.
Spraudnis izmanto vietnes atslēgu gan pārlūkā, gan pārbaudei jūsu serverī. Servera atslēga šim nolūkam nav vajadzīga.
Pārbaudiet, vai tas darbojas
Īsta iesniegšana
Atveriet lapu ar veidlapu privātā logā, aizpildiet to manuāli un iesniedziet. Jūs redzat savas veidlapas parasto apstiprinājumu, un iesniegšana ar tās vērtējumu parādās SilentShield informācijas panelī.
Noraidīta iesniegšana
Nosūtiet to pašu bez pārlūka, piemēram, komentāru ar curl uz ierakstu, kuram ir atvērti komentāri. Aizstājiet adresi un ieraksta ID:
curl -i -X POST https://example.com/wp-comments-post.php \
-d "comment_post_ID=1&author=Test&[email protected]&comment=Test"Sagaidāms noraidījums ar spraudņa ziņojumu, angliskā vietnē „Captcha not correct: Behavior check“. Ar Contact Form 7 veidlapā redzams „Behavior check“.
Problēmu novēršana
- Noklikšķinot uz „Iesniegt“, nekas nenotiek.
- Vai lapa tiek pasniegta ar http, nevis https? Tad pārlūka konsole rāda brīdinājumu „[SilentShield] Web Crypto fehlt im Worker …“ (ziņojums ir vācu valodā). Pasniedziet lapu ar https.
- Contact Form 7 ziņo „There was an error trying to send your message“.
- Pārbaude ir izieta; neizdevās WordPress e-pasta nosūtīšana. Pārbaudiet e-pasta iestatījumus (piemēram, SMTP), nevis aizsardzību pret botiem.
- Īsti apmeklētāji saņem „Behavior check“.
- Biežākais cēlonis ir optimizācijas spraudnis, kas aizkavē vai apvieno JavaScript — skatiet piezīmi zemāk. Pārbaudiet arī, vai atslēga pieder lapas domēnam.
- WPForms veidlapa netiek iesniegta, vai bloku norēķini noraida katru pasūtījumu.
- Atjauniniet SilentShield spraudni uz versiju 2.15.14 vai jaunāku. Abas problēmas konstatējām ar versiju 2.15.12; ar 2.15.14 tās vairs neparādās.
- Vēlaties redzēt, ko dara skripts.
- Pievienojiet lapas adresei ?silentshield-debug. Tad pārlūka konsole rāda katru pārbaudes soli.
Izslēgt SilentShield no JavaScript optimizētājiem
Kešatmiņas un ātruma spraudņi (WP Rocket, Perfmatters, LiteSpeed, Autoptimize un citi) var atlikt JavaScript līdz apmeklētāja pirmajai mijiedarbībai un apvienot failus vienā paketē. Abi salauž SilentShield: sīkrīks startē tikai pēc klikšķa, trūkst uzvedības signālu no lapas ielādes (peles kustība, rakstīšanas ritms, laiki), un aizsardzība strādā ar daļu no vajadzīgā. Veidlapu skenēšana nedarbojas nemaz. Pievienojiet šos paraugus optimizētāja izņēmumu sarakstiem — gan „atlikt JavaScript“, gan „apvienot JavaScript“:
client.js
behavior-captcha
silentshieldPārbaudei: atveriet lapu ar veidlapu un palaidiet pārlūka konsolē performance.getEntriesByType("resource").map(r=>r.name).filter(n=>n.includes("client.js")).join(), IEPRIEKŠ neklikšķinot. Tukšs rezultāts nozīmē, ka SilentShield vēl nav ielādēts — trūkst izņēmuma.
Ierobežojumi
- Aizsargāti ir tikai tie veidlapu spraudņi, kurus ieslēdzat sadaļā „SilentShield → Forms“.
- Mēs norādām tikai pārbaudītas versijas. Spraudnis atpazīst arī citus veidlapu spraudņus; vai tie darbojas ar SilentShield, mēs neesam pārbaudījuši.
- Spraudnim ir pašam savas pārbaudes (piemēram, honeypot un laika mērīšana), un tām tas rāda savus ziņojumus, piemēram, „JavaScript check“.
- SilentShield aizsargā veidlapas pret botiem. Tas neaizstāj tīmekļa lietotņu ugunsmūri vai DDoS aizsardzību.
Darbība
- Spraudni atjauniniet caur WordPress tāpat kā jebkuru citu. Skripts pārlūkā vienmēr tiek ielādēts no mums tā aktuālajā versijā.
- Katra iesniegšana kvotā tiek ieskaitīta divreiz: vienreiz par ziņojumu no pārlūka, vienreiz par pārbaudi jūsu serverī.
- Vērtējumus un noraidītās iesniegšanas redzat SilentShield informācijas panelī.
Bez spraudņa: sava integrācija
Savām veidlapām vai bez spraudņa pievienojiet skriptu paši un pārbaudiet katru iesniegšanu savā serverī. Bez šīs pārbaudes skripts neaizsargā: tas neaptur tieši nosūtītu pieprasījumu.
1. Pievienojiet skriptu
Pievienojiet šo kodu savas tēmas functions.php vai izmantojiet spraudni, piemēram, «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. Servera puses verifikācija
Pievienojiet nonce verifikāciju savai veidlapas apstrādei. Pielāgotām veidlapām pievienojiet to savai apstrādes funkcijai:
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 atslēgas glabāšana
Pievienojiet savu API atslēgu wp-config.php drošībai:
// wp-config.php
define('SILENTSHIELD_API_KEY', 'your-api-key-here');Novērot MI aģentus
Papildus formu aizsardzībai WordPress var arī reģistrēt, kuri AI rāpuļi (GPTBot, ClaudeBot, PerplexityBot, …) lasa jūsu vietni — jau šodien ar mazu must-use failu; gaidāmais spraudņa atjauninājums to iebūvēs.