SilentShield
← Назад към блога
WordPressНастройкаСпамContact Form 7

Captcha в WordPress: спрете спама във формите стъпка по стъпка

Marc Wagner·7 октомври 2026 г.·5 мин четене

Това ръководство превежда нов WordPress сайт с Contact Form 7 от „без защита“ до многостепенна защита. Всичко е тествано на 7 октомври 2026 г. със SilentShield 2.15.14, Contact Form 7 6.2 и WordPress 7.1.2. Описаните тук нива работят на вашия собствен сървър; допълнителното SilentShield API е описано в ръководството за WordPress.

Свежата инсталация все още не защитава нищо

Dashboard на SilentShield веднага след инсталацията: червено известие „No form is protected yet“ казва, че всеки плъгин за форми трябва да се включи поотделно, изброява Contact Forms 7, WordPress Comments, Password Reset, WordPress Login и WordPress Registration и предлага бутона „Choose what to protect“
Екранна снимка на английския административен интерфейс (SilentShield 2.15.14, WordPress 7.1.2, тествано на 7 октомври 2026 г.).

След активирането плъгинът работи, но нито един плъгин за форми не е включен. Таблото (Dashboard) го казва открито: „No form is protected yet“ (Нито една форма не е защитена), следвано от плъгините за форми, които е намерило на вашия сайт. Докато не включите даден плъгин за форми, неговите форми не показват поле за captcha и нищо не се проверява.

Всички настройки по-долу са в менюто SilentShield в администрацията на WordPress.

Стъпка 1: Изберете метод за captcha

Страницата Protection Settings: модулът за captcha е включен, с методите Honeypot (невидим, препоръчителен), Math Problem и Image Captcha, полета за етикет и placeholder и избор на шаблони за показване
Екранна снимка на английския административен интерфейс (SilentShield 2.15.14, WordPress 7.1.2, тествано на 7 октомври 2026 г.).

Отворете SilentShield → Protection Settings (Настройки за защита). Налични са три метода:

  • Honeypot (по подразбиране, невидим). Поле-капан е разположено извън видимата част на екрана; посетителите никога не го виждат, а ботовете, които попълват всяко намерено поле, го попълват. Honeypot не е задача за решаване: бот, който чете страницата и пропуска капана, преминава.
  • Математическа задача. Посетителят решава малка аритметична задача (събиране, изваждане или умножение). Тя е изобразена като текст, така че бот, който управлява истински браузър, може да я прочете.
  • Captcha с изображение. Изкривени знаци, които посетителят въвежда. Изисква PHP библиотеката GD на сървъра и е най-големият товар за вашите посетители.

Започнете с honeypot, ако конверсията е най-важна, и преминете към математическа задача или captcha с изображение, ако спамът продължава да пристига. Изберете шаблон, при желание променете етикета и щракнете върху Save.

Стъпка 2: Включете формите си

Страницата Forms: интеграцията Contact Forms 7 е включена и показва значките „Detected“ и „Fields detected“; формата „Contact form 1“ е изброена под нея, останалите плъгини за форми не са инсталирани
Екранна снимка на английския административен интерфейс (SilentShield 2.15.14, WordPress 7.1.2, тествано на 7 октомври 2026 г.).

Отворете SilentShield → Forms (Форми). Всеки плъгин за форми има превключвател; значката до него показва дали плъгинът е открит на вашия сайт. Включите ли Contact Form 7, значката се променя от „Disabled“ на „Fields detected“. Този превключвател записва веднага, тук няма бутон за запис.

Щракнете върху отделна форма под интеграцията, ако тя се нуждае от собствени настройки. Настройките важат на три нива (глобално, интеграция, отделна форма) и по-ниското ниво замества по-високото.

Ръководства стъпка по стъпка за отделни добавки за формуляри: Avada Forms, Elementor Forms, WPForms и плащането в WooCommerce.

Стъпка 3: Добавете нивата за откриване

Страницата Protection Settings, долна част: Timer Protection изключена, JavaScript Detection включена, Browser Detection включена, Multiple Submission Protection изключена, Gibberish Detection включена в режим „Monitor only (record, do not block)“ със „Flagged fields required: 3“
Екранна снимка на английския административен интерфейс (SilentShield 2.15.14, WordPress 7.1.2, тествано на 7 октомври 2026 г.).

По-надолу в Protection Settings всяко ниво има собствен превключвател. Така изглежда състоянието при свежа инсталация:

  • Откриване на JavaScript (вкл.). Блокира изпращания от клиенти, които не са изпълнили JavaScript, например скрипт, който изпраща данни директно към адреса на вашата форма.
  • Откриване на браузър (вкл.). Проверява дали заявката носи валиден user agent.
  • Защита чрез таймер (изкл.). Отхвърля изпращане, което пристига по-бързо от минимално време след зареждането на страницата; минимумът по подразбиране е 500 милисекунди.
  • Защита от многократно изпращане (изкл.). Не позволява една и съща сесия на captcha да бъде изпратена повече от веднъж.
  • Откриване на безсмислен текст (вкл., „Monitor only“). Маркира текст от произволни знаци, например „dQgJlwEhfxaLZSKYLy“. В режим на наблюдение записва какво би отхвърлило и не блокира нищо. Наблюдавайте резултатите известно време и после превключете режима на „Block“.

Изпращането се отхвърля веднага щом някое активно ниво го маркира.

Стъпка 4: Ограничение на честотата и правила за съдържанието срещу упорития спам

Страницата Advanced Settings: IP-based Rate Limiting и Content Rules (URL limit, BBCode, word blacklist), и двете изключени, и IP blacklist с примерните записи 192.168.1.1 и 10.0.0.0/24
Екранна снимка на английския административен интерфейс (SilentShield 2.15.14, WordPress 7.1.2, тествано на 7 октомври 2026 г.).

Отворете SilentShield → Advanced Settings (Разширени настройки). Всичко тук е изключено по подразбиране:

  • Ограничаване на честотата по IP адрес (rate limiting). След 3 неуспешни опита в рамките на 5 минути адресът се блокира за 1 час (стойностите по подразбиране, всички могат да се променят). Адресите се съхраняват като осолени хешове.
  • Правила за съдържанието. Ограничение на броя връзки в съобщението, блокиране на BBCode връзки ([url=…]) и черен списък с думи. Черният списък е собственият списък на WordPress под „Settings → Discussion“ („Disallowed Comment Keys“), така че промяната му на едното или на другото място има същия ефект.
  • Черен списък с IP адреси. Адреси, които искате да блокирате винаги, по един на ред.

Стъпка 5: Тествайте като посетител, не като администратор

Contact Form 7 след грешен отговор на captcha: формата показва въведените стойности и осветено поле за отговор с текст „Captcha check“
Екранна снимка на английския административен интерфейс (SilentShield 2.15.14, WordPress 7.1.2, тествано на 7 октомври 2026 г.).

Администраторите и влезлите потребители по подразбиране пропускат всички проверки (белият списък на същата страница). Затова тест, докато сте влезли, не доказва нищо. Вместо това отворете формата в частен прозорец на браузъра:

  1. Изпратете с грешен отговор на captcha. Изпращането трябва да бъде блокирано; Contact Form 7 показва причината в полето си за отговор, тук „Captcha check“.
  2. Презаредете формата и изпратете с верния отговор. Изпращането трябва да мине.

Коя настройка какъв спам спира

  • Скриптове, които изпращат директно, без браузър: откриване на JavaScript и откриване на браузър.
  • Ботове, които попълват всяко поле: honeypot.
  • Скриптове, които попълват и изпращат форма за милисекунди: защита чрез таймер.
  • Пълнежен текст от произволни знаци: откриване на безсмислен текст.
  • Спам с връзки: ограничение на броя връзки, блокиране на BBCode и черен списък с думи.
  • Един и същ адрес, който опитва отново и отново: ограничаване на честотата по IP адрес.

Ограничения

  • Никоя настройка не спира спам, който човек пише на ръка.
  • Ботове, които управляват истински браузър, могат да преминат проверките от страна на клиента. Правилата за съдържанието и откриването на безсмислен текст гледат вместо това какво е написано; за този случай подходящото ниво е анализът на поведението.
  • Без JavaScript в браузъра изпращането към защитена форма се отхвърля.

Ръководство за защита на форми

Готови ли сте да се отървете от CAPTCHA?

Започнете да защитавате формулярите си — невидимо. Не е необходима кредитна карта.