Среди интернет-блогеров, использующих для своих сайтов движок WordPress, большой популярностью пользуется плагин Jetpack. Этот многофункциональный плагин в составе своих модулей имеет модуль Sharing Buttons, который реализует возможность добавления кнопок отправки ссылки на контент блога. Сегодня я расскажу о том, какой сюрприз может поджидать нас при использовании данного функционала.
Среди кнопок модуля Sharing Buttons имеется и кнопка отправки ссылки на адрес электронной почты:
В конфигурации по умолчанию, при нажатии данной кнопки открывается небольшая веб-форма, в которой можно указать e-mail адрес для отправки ссылки на текущую статью блога
Данная функция работает на нашем блоге достаточно давно и до сегодняшнего дня с ней не возникало каких-то ощутимых проблем.
Сегодня во второй половине дня я обнаружил, что на основной почтовый ящик, используемый при настройке плагина отсылки почты, о котором мы писали ранее, от наших почтовых серверов Яндекс.Почта привалило около сотни NDR с темой "Undelivered Mail Returned to Sender" и примерно следующей информацией:
Reporting-MTA: dns; forward104p.mail.yandex.net
X-Yandex-Queue-ID: A7831182E5A
X-Yandex-Sender: rfc822; Blog@IT-KB.RU
Arrival-Date: Sun, 20 Aug 2017 15:09:39 +0300 (MSK)
Final-Recipient: rfc822; 4201695@qq.com
Original-Recipient: rfc822;4201695@qq.com
Action: failed
Status: 5.0.0
Remote-MTA: dns; mx3.qq.com
Diagnostic-Code: smtp; 550 Mail content denied.
В каждый NDR было вложено исходное письмо, похожее на то, что формируется при использовании кнопки отправки ссылки на статью по электронной почте, про которую я упомянул ранее. При этом в каждом таком письме в качестве адреса получателя были указаны какие-то существующие почтовые домены.
Когда подобные новые письма стали прилетать с интервалом в несколько минут, стало понятно, что так недолго до попадания нашего домена в блэк-листы.
Вся эта ситуация очень смахивала на то, что имеющуюся на сайте кнопку отправки ссылки на статью какая-то "старушка Шапокляк" использует либо для того, чтобы от нашего имени DoS-ить сторонние почтовые домены, либо для того, чтобы запятнать честное имя нашего почтового домена, либо для того и другого одновременно. Нужно было что-нибудь оперативно предпринимать.
Быстрый поиск информации о защите отправки почты плагином Jetpack совершенно справедливо привёл меня на страничку Jetpack Support - Social – Sharing, где разработчики плагина заботливо описали основные нюансы использования "социальных кнопок", в том числе и рассказали о том, как защитить функцию отсылки почты от вредительских рассылок (Спасибо команде Jetpack!).
Для решения проблемы, в файле wp-config.php, который расположен корневом каталоге WordPress-блога, необходимо добавить пару строк, вида:
define( 'RECAPTCHA_PUBLIC_KEY', 'AAA' );
define( 'RECAPTCHA_PRIVATE_KEY', 'BBB' );
Где 'AAA' и 'BBB' – открытый и закрытый ключи, полученные от Google при регистрации на сервисе Google reCAPTCHA. Данные строки должны быть добавлены перед строкой /* That's all, stop editing! Happy blogging. */, как показано на скриншоте:
После внесения изменений, сохраняем файл wp-config.php и обновляем страницу с кнопкой отправки почты.
Как видим, форма отправки почты обогатилась элементами Google reCAPTCHA, и теперь всевозможные автоматизированные "Шапокляки" не пройдут :)
Добавить комментарий