Обратно към блога
Основи Публикувано на 28.09.2026 1 мин. четене

Формуляри за контакт в WordPress: контролен списък за сигурност

Contact Form 7, WPForms, Gravity Forms, Ninja Forms или Fluent Forms – плъгинът има по-малко значение от това как е настроен и поддържан. Ето какво да проверите и какво да проверявате отново след всяка актуализация.

Повечето сайтове с WordPress използват един от няколкото плъгина за формуляри: Contact Form 7, WPForms, Gravity Forms, Ninja Forms, Fluent Forms и още няколко. Всеки от тях може да работи сигурно или да бъде оставен широко отворен. Разликата рядко е в самия плъгин, а в настройките му, добавките около него, начина, по който пощата напуска сървъра, и какво се случва със съобщенията, след като пристигнат.

  • Поддържайте плъгина за формуляри и всяка добавка актуални и изтрийте тези, които вече не използвате.
  • Включете собствената защита от спам на плъгина – honeypot, интеграция с CAPTCHA, Akismet, където е подходящо – и потвърдете, че тя действително работи.
  • Изпращайте известията чрез SMTP с удостоверяване от адрес в собствения си домейн.
  • Ограничете качването на файлове по тип и размер и не допускайте качените файлове да бъдат публично изброявани или разглеждани.
  • Не допускайте имейл адресът на получателя да се появява на страницата и в изходния ѝ код.
  • Съхранявайте само записите, от които се нуждаете, и само толкова дълго, колкото ви трябват.
  • Извършвайте кратка проверка след всяка актуализация на WordPress, темата или някой плъгин.

Актуализации: плъгинът за формуляри и всичко около него

Плъгините за формуляри са популярни цели, тъй като приемат въведени данни от всеки в интернет. Корекциите на сигурността идват като обикновени актуализации, така че актуализирайте своевременно – и не само основния плъгин. Добавките за плащания, качване на файлове, връзки с CRM, условна логика или допълнителни доставчици на CAPTCHA са отделен код със собствени уязвимости. Същото важи и за плъгините, които някога сте инсталирали за тест и сте забравили. Деактивирането не е достатъчно: деактивираните плъгини продължават да стоят на сървъра и в някои случаи файловете им могат да бъдат достигнати директно. Ако не го използвате, изтрийте го.

Защита от спам: включете я, след това докажете, че работи

Повечето плъгини за формуляри имат собствени опции за защита от спам или се интегрират с външни услуги: поле honeypot, което ботовете попълват, а хората никога не виждат, CAPTCHA като reCAPTCHA, hCaptcha или Cloudflare Turnstile и Akismet, който проверява съдържанието на съобщенията спрямо база данни със спам. Опциите се различават според плъгина и версията, така че проверете настройките, вместо да предполагате. Външните CAPTCHA зареждат скриптове от трета страна, а Akismet изпраща изпратеното съдържание до външна услуга – и двете трябва да бъдат описани в политиката ви за поверителност и в зависимост от настройката ви – в управлението на съгласията.

По-честият проблем е защита, която е включена, но не работи. CAPTCHA с публични тестови ключове пропуска всичко. Уиджет, чийто скрипт е блокиран от плъгин за кеширане или оптимизация или от грешка в JavaScript, не спира нищо. Поле honeypot без стиловете, които го скриват, се прочита на глас от екранните четци и се попълва от истински посетители. Затова след всяка промяна отворете формуляра в частен прозорец, проверете конзолата на браузъра и изходния код на страницата и изпратете тестово съобщение. Ако искате защита, която не зависи от Google, безплатният плъгин formexposed за WordPress добавя honeypot, проверка на времето и proof-of-work и проверява отново сайта след актуализации на плъгини – една от няколко възможности.

Поща: как се изпраща и къде отива

По подразбиране WordPress предава пощата на PHP функцията за поща на сървъра, а при много хостинг доставчици тези съобщения са слабо удостоверени и попадат в спама – или безшумно изчезват. Вместо това изпращайте чрез SMTP плъгин или пощенската услуга на хостинг доставчика си, като използвате истинска пощенска кутия с потребителско име и парола и адрес на подателя в собствения си домейн, например специален адрес forms@. SPF, DKIM и DMARC записите на домейна трябва да обхващат този подател. Не поставяйте адреса на посетителя в полето From: той не е от вашия домейн, така че съобщението не може да премине съгласуването на DMARC и в зависимост от политиката на домейна на посетителя попада в спама или се отхвърля. Задайте го като Reply-To и пак ще можете да отговорите с едно кликване.

Адресът на получателя трябва да е в настройките на плъгина, а не на страницата. Проверете изходния код на страницата си за контакт: mailto връзка до формуляра или скрито поле, съдържащо адреса на получателя, предоставя този адрес на всеки бот за събиране на адреси. При по-стари или създадени по поръчка формуляри може да е и по-лошо – ако сървърът се доверява на скрито поле за получателя, всеки може да го промени и да използва формуляра ви, за да изпраща поща до произволни адреси.

Качване на файлове и съхранени записи

Качването на файлове е най-рисковата функция на формулярите, така че първо се запитайте дали изобщо ви е необходимо. Ако е, разрешете само типовете, които действително очаквате – например PDF и обичайните формати на изображения – вместо да блокирате няколко опасни, и задайте ограничение на размера. Проверете къде плъгинът съхранява качените файлове: те не трябва да могат да бъдат изброявани в публична директория и в идеалния случай изобщо да не са достъпни на адрес, който може да бъде отгатнат. Изтрийте ги, след като бъдат обработени, или ги изпращайте като прикачени файлове, вместо да ги пазите на сървъра.

Много плъгини за формуляри или техните добавки записват всяко изпращане в базата данни на WordPress, често включително спама. Това е полезно резервно копие, когато пощата откаже, но и растяща купчина лични данни. Съгласно принципа на ОРЗД за ограничение на съхранението (чл. 5, параграф 1, буква д)) такива данни не трябва да се пазят по-дълго от необходимото. Решете дали се нуждаете от съхранени записи, кои полета и за колко време, след това използвайте настройката на плъгина за автоматично изтриване, ако има такава, или редовно изтривайте старите записи. Резервните копия на базата данни съдържат същите данни.

След всяка актуализация

  1. 1Отворете страницата за контакт в частен прозорец: формулярът и неговият елемент за защита от спам се показват правилно, а конзолата на браузъра не показва грешки.
  2. 2Прегледайте изходния код на страницата: полето honeypot и скриптът на CAPTCHA все още са там, а адресът на получателя – не.
  3. 3Изпратете тестово съобщение: то пристига във входящата поща, а не в спама, и заглавните редове показват, че SPF, DKIM и DMARC са преминати успешно.
  4. 4Проверете важните настройки: получател, адрес на подателя, разрешени типове и размери на качваните файлове, колко дълго се пазят записите.
  5. 5Проверете дали връзката към политиката за поверителност и евентуалният текст за съгласие все още се показват при формуляра.
  6. 6Отбележете датата и какво сте проверили, за да знаете кога формулярът за последно доказано е работил.

Щом стане рутина, това отнема малко време и улавя точно безшумните откази, които иначе остават незабелязани седмици наред. За поглед отвън безплатна проверка на formexposed.com разглежда публичните страници с формуляри на сайта, без да изпраща нищо, и показва дали очакваната от вас защита е налице и ефективно настроена – без да е необходим акаунт.