Kāda problēma jums ir?
Trīs gadījumi izskatās līdzīgi, taču tiem ir dažādi cēloņi:
- Pienāk surogātpasts. Jūsu iesūtne piepildās ar reklāmām, saitēm vai bezjēdzīgu tekstu. Forma laiž cauri botus.
- Forma ziņo par kļūdu. Apmeklētāji redz „There was an error trying to send your message. Please try again later.“ (latviešu valodas vietnēs – tulkotu). Tā var būt aizsardzība pret surogātpastu vai problēma ar e-pasta sūtīšanu.
- Trūkst īstu pieprasījumu. Neviens nesūdzas, bet arī nekas nepienāk. Tad aizsardzība, iespējams, noraida cilvēkus, vai arī e-pasti nesasniedz jūsu iesūtni.
Vispirms nosakiet gadījumu un tikai tad pievienojiet aizsardzību. Kā to izdarīt, aprakstīts sadaļā „E-pasta piegāde vai aizsardzība pret botiem?“.
Ko Contact Form 7 piedāvā pats
Contact Form 7 ir iebūvēti vairāki pasākumi pret surogātpastu (pārbaudīts versijā 6.1.7):
- Aizliegto vārdu saraksts. CF7 katru iesniegumu salīdzina ar sarakstu sadaļā „Settings → Discussion“ („Disallowed Comment Keys“). Sakritība tiek uzskatīta par surogātpastu. Tas palīdz pret atkārtotiem vārdiem un domēniem, nevis pret jauniem tekstiem.
- Viktorīnas lauks. Ar tagu
[quiz]forma uzdod jautājumu, ko nosakāt paši. Boti, kas aizpilda jebkuru formu, neiztur; boti, kas mērķēti tieši uz jūsu vietni, iztur. - Akismet. Ar Akismet spraudni un Akismet atslēgu CF7 pārbauda vārdu, e-pasta adresi un tekstu, izmantojot Akismet pakalpojumu.
- reCAPTCHA v3. CF7 ielādē skriptu no Google un noraida iesniegumus, kuru vērtējums ir zem sliekšņa.
- Cloudflare Turnstile. CF7 integrē Turnstile; skripts tiek ielādēts no Cloudflare.
Aizliegto vārdu saraksts un viktorīna darbojas bez ārēja pakalpojuma. Akismet, reCAPTCHA un Turnstile nosūta jūsu apmeklētāju datus attiecīgajam pakalpojumu sniedzējam, un tas jānorāda jūsu privātuma politikā.
Kad ir jēga papildu aizsardzībai pret botiem
Specializēta aizsardzība pret botiem ir vērtīga, ja
- surogātpasts turpina pienākt, neskatoties uz aizliegto vārdu sarakstu un viktorīnu,
- nevēlaties ielādēt skriptus no Google vai Cloudflare,
- vēlaties katram noraidītajam iesniegumam redzēt, kāpēc tas tika noraidīts.
Ja jūsu formai pietiek ar viktorīnu, vairāk nekas nav vajadzīgs. Aizsardzība, kas nevienam nav vajadzīga, ir tikai vēl viens kļūdu avots.
SilentShield iestatīšana Contact Form 7
Oficiālais spraudnis „SilentShield – Captcha & Anti-Spam“ aizsargā Contact Form 7 bez jūsu paša koda. Mēs to pārbaudījām ar Contact Form 7 6.1.7 un WordPress 7.0.
- Instalējiet un aktivizējiet spraudni no WordPress direktorija.
- Sadaļā „SilentShield → API / SilentShield“ ievadiet savu atslēgu, noklikšķiniet uz „Validate“, ieslēdziet „Activate API“ un saglabājiet.
- Sadaļā „SilentShield → Forms“ ieslēdziet Contact Form 7.
Vietnei jādarbojas caur https, citādi formu nevar iesniegt. Visi soļi un pārbaudītie formu spraudņi ir WordPress rokasgrāmatā. Katrs iesniegums tiek ieskaitīts kvotā, skatiet cenas un kvotas.
Īstu iesniegumu un neveiksmīgu mēģinājumu testēšana
Īsts iesniegums: Atveriet lapu privātā logā, aizpildiet formu manuāli un iesniedziet to. Jums vajadzētu redzēt CF7 apstiprinājumu ar zaļu rāmi.
Neveiksmīgs mēģinājums: Nosūtiet to pašu formu bez pārlūkprogrammas uz CF7 saskarni. Formas ID un _wpcf7_unit_tag vērtību atradīsiet lapas pirmkodā, formas slēptajos laukos.
curl -X POST "https://example.com/?rest_route=/contact-form-7/v1/contact-forms/123/feedback" \
-F "_wpcf7=123" -F "_wpcf7_unit_tag=wpcf7-f123-p45-o1" -F "_wpcf7_container_post=45" \
-F "your-name=Test" -F "[email protected]" -F "your-message=Test"
Jums vajadzētu saņemt atbildi ar "status":"spam". Ar SilentShield ziņojumā ir rakstīts „Behavior check“.
E-pasta piegāde vai aizsardzība pret botiem?
mail_sentspammail_failedvalidation_failedContact Form 7 „surogātpastam“ un „e-pastu nevarēja nosūtīt“ ir viens un tas pats noklusējuma teksts. Tos var atšķirt divās vietās:
- Ziņojuma rāmja krāsa: oranžs nozīmē surogātpastu, sarkans – ka e-pasta nosūtīšana neizdevās, ja vien jūsu tēma nepārraksta CF7 krāsas.
- Atbilde pārlūkprogrammā: Izstrādātāja rīkos (cilne „Network“) atbildē uz
feedbackirstatus– vai nuspam, vaimail_failed.
Ja tas ir mail_failed, aizsardzība pret botiem iesniegumu ir palaidusi cauri; problēma ir WordPress e-pasta sūtīšanā. Tad pārbaudiet e-pasta iestatījumus, piemēram, ar SMTP spraudni. Ja tas ir spam, iesniegumu noraidīja aizsardzības pasākums. Ar SilentShield ziņojumā ir norādīts iemesls, piemēram, „Behavior check“.
Ierobežojumi
- Neviena aizsardzība neaptur surogātpastu, ko cilvēks raksta ar roku.
- Ja pārlūkprogrammā nav JavaScript, iesniegums aizsargātā formā tiek noraidīts.
- SilentShield aizsargā formas pret botiem. Tas neaizstāj tīmekļa lietotņu ugunsmūri vai DDoS aizsardzību.