Koji problem imate?
Tri slučaja izgledaju slično, ali imaju različite uzroke:
- Stiže spam. Vaš se pretinac puni oglasima, poveznicama ili besmislenim tekstom. Obrazac propušta botove.
- Obrazac javlja pogrešku. Posjetitelji vide „There was an error trying to send your message. Please try again later.“ (na stranicama na drugim jezicima u prijevodu). Uzrok može biti zaštita od spama ili problem sa slanjem e-pošte.
- Nedostaju stvarni upiti. Nitko se ne žali, ali ništa ni ne stiže. Tada zaštita možda odbija ljude ili poruke ne stižu u vaš pretinac.
Prvo utvrdite o kojem je slučaju riječ, a tek onda dodajte zaštitu. Kako to učiniti, opisano je u odjeljku „Isporuka e-pošte ili zaštita od botova?“.
Što Contact Form 7 već donosi
Contact Form 7 ima ugrađeno nekoliko mjera protiv spama (provjereno na verziji 6.1.7):
- Popis zabranjenih izraza. CF7 svako slanje uspoređuje s popisom pod „Settings → Discussion“ („Disallowed Comment Keys“). Podudaranje se računa kao spam. To pomaže protiv riječi i domena koje se ponavljaju, ali ne i protiv novih tekstova.
- Polje kviza. Oznakom
[quiz]obrazac postavlja pitanje koje sami odredite. Botovi koji ispunjavaju bilo koji obrazac ne prolaze; botovi koji ciljaju baš vašu stranicu prolaze. - Akismet. Uz dodatak Akismet i Akismet ključ CF7 provjerava ime, adresu e-pošte i tekst putem usluge Akismet.
- reCAPTCHA v3. CF7 učitava skriptu s Googlea i odbija slanja ispod praga ocjene.
- Cloudflare Turnstile. CF7 integrira Turnstile; skripta dolazi s Cloudflarea.
Popis zabranjenih izraza i kviz rade bez vanjske usluge. Akismet, reCAPTCHA i Turnstile šalju podatke vaših posjetitelja odgovarajućem pružatelju, a to treba navesti u vašoj politici privatnosti.
Kada dodatna zaštita od botova ima smisla
Namjenska zaštita od botova isplati se ako
- spam i dalje stiže unatoč popisu zabranjenih izraza i kvizu,
- ne želite učitavati skripte s Googlea ili Cloudflarea,
- želite za svako odbijeno slanje vidjeti zašto je odbijeno.
Ako je vašem obrascu kviz dovoljan, ne treba vam ništa više. Zaštita koja nikome ne treba samo je još jedan izvor pogrešaka.
Postavljanje SilentShielda za Contact Form 7
Službeni dodatak „SilentShield – Captcha & Anti-Spam“ štiti Contact Form 7 bez vlastitog koda. Testirali smo ga s Contact Form 7 6.1.7 i WordPressom 7.0.
- Instalirajte i aktivirajte dodatak iz WordPressova direktorija.
- Pod „SilentShield → API / SilentShield“ unesite svoj ključ, kliknite „Validate“, uključite „Activate API“ i spremite.
- Pod „SilentShield → Forms“ uključite Contact Form 7.
Stranica mora raditi preko https-a, inače se obrazac ne može poslati. Sve korake i testirane dodatke za obrasce pronaći ćete u vodiču za WordPress. Svako slanje ulazi u kvotu, pogledajte cijene i kvote.
Testiranje stvarnih slanja i odbijenih pokušaja
Stvarno slanje: Otvorite stranicu u privatnom prozoru, ručno ispunite obrazac i pošaljite ga. Trebali biste vidjeti potvrdu CF7 sa zelenim obrubom.
Odbijeni pokušaj: Pošaljite isti obrazac bez preglednika na sučelje CF7. ID obrasca i vrijednost za _wpcf7_unit_tag pronaći ćete u izvornom kodu stranice, u skrivenim poljima obrasca.
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"
Trebali biste dobiti odgovor s "status":"spam". Uz SilentShield poruka glasi „Behavior check“.
Isporuka e-pošte ili zaštita od botova?
mail_sentspammail_failedvalidation_failedU Contact Form 7 „spam“ i „poruku nije bilo moguće poslati“ imaju isti zadani tekst. Možete ih razlikovati na dva mjesta:
- Boja obruba poruke: narančasta znači spam, crvena znači da slanje e-pošte nije uspjelo – sve dok vaša tema ne prepisuje boje CF7.
- Odgovor u pregledniku: U alatima za razvojne programere (kartica Mreža) odgovor na
feedbacksadržistatus, ilispamilimail_failed.
Ako je mail_failed, zaštita od botova propustila je slanje; problem je u slanju e-pošte iz WordPressa. Tada provjerite postavke e-pošte, primjerice dodatkom za SMTP. Ako je spam, odbila ga je neka mjera zaštite. Uz SilentShield poruka navodi razlog, primjerice „Behavior check“.
Ograničenja
- Nijedna zaštita ne zaustavlja spam koji čovjek napiše ručno.
- Bez JavaScripta u pregledniku slanje u zaštićeni obrazac bit će odbijeno.
- SilentShield štiti obrasce od botova. Ne zamjenjuje vatrozid za web-aplikacije ni zaštitu od DDoS napada.