Невыносимый обратной связи копию письма. Форма обратной связи на PHP с отправкой на e-mail. Создание формы обратной средствами Joomla. Защита от спама

Не так давно я столкнулся с действующим методом, который позволяет злоумышленнику отправлять спам от имени вашего сайта, используя форму обратной связи Joomla (форму контакта). Эта возможность не является уязвимостью, и вряд ли будет исправлена. В этой статье я расскажу о том, как такое стало возможно, и что нужно делать, чтобы защитить свой сайт.

Стандартная форма обратной связи Joomla

В Joomla есть довольно мощный и гибкий компонент, который называется «Контакты ». Это стандартный компонент Joomla. Он есть на каждом сайте, т.к. устанавливается вместе с CMS. Данный компонент позволяет создавать и выводить на сайт категории контактов, контакты, формы обратной связи, позволяющие связаться с тем или иным контактом. Контакт – это, условно, пользователь – человек с сайта.

Когда-то я писал статью о том, как можно создать на сайте форму обратной связи стандартными средствами Joomla . Данная инструкция актуальна и сейчас. Она позволяет создать вполне себе годную форму обратной связи без установки сторонних расширений. Отправка спама возможна, когда используется именно эта форма, а также, при одновременном стечении некоторых обстоятельств, о которых пойдет речь ниже.

Отправка спама от имени сайта с использованием формы обратной связи Joomla

Вы удивитесь, насколько прост обнаруженный способ отправки спама от имени сайта. Чтобы он был возможен, форма обратной связи должна выглядеть примерно так:

Т.е. должны выполняться два условия:

  1. Форма не защищена от спам-ботов (не подключена reCaptcha или какой-либо другой способ защиты формы)
  2. В настойках контакта активирована опция «Отправлять отправителю копию письма». Благодаря ей в контактной форме появляется соответствующий чекбокс (см. рисунок выше).

Если хотя бы одно из этих условий не выполняется, проблем не будет. Если же выполняются оба условия, то, как говориться, следите за руками:

  1. Спам-бот находит контактную форму. Защиты от спама нет – можно использовать.
  2. Спам-бот определяет, что сайт на Joomla, и что используется стандартная форма контактов. Удивительно, но есть боты, которые прекрасно умеют это делать.
  3. Спам-бот видит наличие чекбокса отправки копии письма отправителю.
  4. Спам-бот подставляет в поле Email адрес из собственной базы спам-рассылки, поле сообщения заполняет спамом. Как заполнены остальные поля неважно.
  5. Спам-бот отправляет форму и повторяет процесс многократно, подставляя все новые и новые адреса из собственной базы в поле Email.

Что происходит в результате? Joomla думает, что форму заполнил человек, который указал свой реальный адрес и хочет связаться с контактом с сайта. Поскольку галочка отправки копии письма установлена, то письма от сайта получают двое: человек, чей адрес привязан к контакту, и человек, чей адрес введен в поле Email.

Таким образом, подставляя в поле Email разные адреса, можно отправить тысячи сообщений от имени вашего сайта. Да, возможно контакт увидит это, быстро поймет, в чем дело, и прикроет лазейку, но очень велика вероятность, что этого не произойдет.

Последствия от такой атаки для сайта и бизнеса могут быть крайне неприятными, особенно когда чтобы раскрутить сайт уже вложено много денег. Если с адреса вашего домена рассылается спам, думаю не нужно объяснять, какой будет реакция его получателей.

Как защититься от этой уязвимости?

Как защититься от этой уязвимости? Элементарно. Сделайте так, чтобы одно из условий, описанных выше, не выполнялось, а именно.

Проблема: избегание обратной связи. Большинство людей не слишком хорошо воспринимают критику и, соответственно, всеми силами стараются избежать негативной обратной связи. В результате они не получают поистине бесценных сведений о своих сильных и слабых сторонах и, как следствие, не имеют возможности извлекать максимальную выгоду из первых и предупреждать последствия вторых.

Решение: если вы активно стараетесь получить и учитесь на честной и справедливой обратной связи от людей, которые вас хорошо знают (с самых разных сторон), значит, вы используете один из самых эффективных и быстродействующих способов, позволяющих человеку взглянуть на себя с новых углов зрения и ускорить личный успех и темпы саморазвития.

Инструкции: введите следующий текст в поле для электронного письма (можете редактировать его и адаптировать к своей ситуации, чтобы было понятно, что его автор – вы). Разошлите его пяти – тридцати (чем больше, тем лучше) знакомым, которые знают вас достаточно хорошо, чтобы дать честную оценку вашим сильным и слабым сторонам. Это могут быть ваши друзья, родственники, коллеги, наставники, учителя, бывшие работодатели или менеджеры, клиенты и прочие важные и близкие для вас люди. А если вы достаточно смелы, то и люди, важные или близкие для вас в прошлом. (Я серьезно.)

Важно: не забудьте рассылать письма как «скрытые копии», чтобы получатели не могли видеть остальных адресатов. (А лучше вообще скопировать и вставить письмо и рассылать их потом каждому человеку отдельно.)

Поле «Тема»: Это очень важно… или Буду счастлив услышать ваше мнение…

Текст электронного письма:

Дорогие друзья, родные и коллеги!

Огромное спасибо за то, что читаете это письмо. Мне было очень непросто его отправить, но оно крайне важно для меня и я искренне благодарен вам за то, что вы не пожалели своего драгоценного времени на его чтение (и, надеюсь, на то, чтобы мне ответить).

Это письмо получит избранная группа людей. Каждый из вас хорошо меня знает, и, надеюсь, даст честную оценку моих сильных и, что еще важнее, слабых сторон (так называемых зон усовершенствования).

Я никогда не делал ничего подобного раньше, но чувствую, что для того, чтобы расти и развиваться как личность, мне просто необходимо получить более точную картину того, каким меня видят самые важные люди в моей жизни. Чтобы стать человеком, которым я должен быть, чтобы жить так, как я того хочу и заслуживаю, и вносить вклад в жизнь других людей на уровне, на котором мне хотелось бы это делать, мне очень нужно услышать объективное мнение.

В связи с этим прошу вас не пожалеть нескольких минут, чтобы отправить мне письмо, где вы честно напишете, в каких двух-трех важных областях я больше всего нуждаюсь в улучшении. Если вам так будет проще и приятнее, не стесняйтесь перечислить сначала мои наибольшие достоинства и явные преимущества (во всяком случае, мне так точно будет проще и приятнее). Вот и все. И пожалуйста, не старайтесь ничего приукрасить или скрыть. Я обещаю не обижаться ни на какую критику. Вообще-то чем откровеннее вы будете, тем больше мотивов у меня появится для того, чтобы внести позитивные изменения в свою жизнь.

Спасибо еще раз, и, если есть что-нибудь, что я мог бы сделать, чтобы повысить ценность вашей жизни, пожалуйста, непременно дайте мне знать. С искренней благодарностью,

Электронное письмо, которое изменит вашу жизнь: Мысли в заключение

Ну вот и все! Надеюсь, вы присоединитесь ко мне, Труди и сотням других моих VIP-клиентов, которым хватило смелости разослать письмо такого содержания. Перечислю лишь некоторые из судьбоносных, меняющих жизнь человека вознаграждений, на которые вы можете рассчитывать в этом случае: более точный самоанализ, более глубокое понимание самого себя и четкое и ясное видение того, какие изменения позволят вам быстро улучшить свой характер и свою жизнь.

Построена на лексических формальностях, делающих ее стройной и точной.

Введение

Вводные строки деловых писем ссылаются на предыдущую переписку, объясняют способ нахождения получателя или причину обращения.

With reference to your letter of … Ссылаясь на Ваше письмо от [дата]…
I am writing to enquire about … Обращаюсь для справки о …
After having seen your advertisement in … , I would like … После просмотра Вашей рекламы в …, я бы хотел …
After having received your address from … , I … Узнав Ваш адрес из …, я …
I received your address from … and would like … Я получил Ваш адрес из … и хотел бы …
We/I recently wrote to you about … Я/мы недавно писали Вам о …
Thank you for your letter of Благодарю за Ваше письмо от [дата]
Thank you for your letter regarding … Спасибо за Ваше письмо относительно …
Thank you for your letter/e-mail about … Благодарим за Ваше письмо о …
In reply to your letter of , … В ответ на Ваше письмо от [дата], …
Referring to your letter of … Ссылаясь на Ваше письмо от …
In reply to your letter of … we are glad to inform you that … В ответ на Ваше письмо от … мы рады сообщить Вам, что …
With reference to your fax dated … we are pleased to confirm that … Ссылаясь на Ваш факс, датированный …, мы рады подтвердить, что …
We refer to our letter regarding … Ссылаясь на наше письмо относительно …
In accordance with your order of … В соответствии с Вашим заказом от …
Further to our letter of … we … В дополнение к нашему письму от … мы …

Формальные связки

Соединительные словосочетания структурируют деловую переписку.

First of all … В первую очередь …
Please note that … Просим принять во внимание, что …
We wish to bring to you notice that …
We would like to note that … Обращаем ваше внимание на тот факт, что …
The matter/point is … Дело в том, что …
We think/believe … Мы считаем, что …
In this connection … В связи с этим …
In view of the above … Ввиду вышеизложенного …
Apart from the above … Помимо вышеуказанного …
In addition to the above …
Further to the above … В дополнение к вышеуказанному …
On the other hand … С другой стороны …
Moreover … Более того …
Besides … Кроме того …
Nevertheless … Тем не менее …

Приложение

Заключение

Заключительные строки деловых писем предваряют будущие события, повторяют извинения или предлагаю помощь.

If you require any further information, feel free to contact me За допсведениями обращайтесь ко мне
I look forward to your reply Жду Вашего ответа
I look forward to hearing from you Жду обратной связи
I look forward to seeing you До встречи
Please advise as necessary Прошу сообщать по необходимости
We look forward to a successful working relationship in the future В надежде на успешное сотрудничество в будущем
Should you need any further information, please do not hesitate to contact me В случае заинтересованности не стесняйтесь обращаться ко мне
Once again, I apologize for any inconvenience Повторно извиняюсь за неудобство
We hope that we may continue to rely on your valued custom Надеемся и дальше полагаться на Вашу постоянную клиентуру
I would appreciate your immediate attention to this matter Буду благодарен за Ваш скорейший отклик на это
We are looking forward to hearing from you Ждём Вашего ответа
We look forward to your reply Ждём Вашего ответа.
Your early reply will be appreciated Заранее благодарим Вас за скорый ответ.
We would appreciate your cooperation on this matter Будем благодарны Вам за сотрудничество в этом вопросе.
Awaiting your prompt reply В ожидании скорейшего ответа

Прощание

Выбор правильного прощания в деловых письмах зависит от знакомства с получателем.

English Joke

The child came to his mother in tears.

«Oh, mama,» he confessed, «I broke a tile in the hearth.»

«Never mind, dear,» the mother consoled. «But how ever did you come to do it?»

«I was pounding it with father’s watch?»

· Igor Zhuravlev

· Igor Zhuravlev, Andrey Kurosh, Alexey Chumachenko, Polina Vafina

· Igor Zhuravlev, Polina Vafina

Вы получили электронное письмо, где в копии стоят несколько адресатов. Что произойдет, если нажать кнопку «Ответить всем»?

· Будет создано письмо, где в поле «Кому» будет указан адрес, с которого Вам пришло исходное письмо

· Будет создано письмо, где в поле «Кому» и «Копия» будут соответственно указаны все адресаты, перечисленные в исходном письме

· Будет создано письмо с пустым полем «Кому»

· Будет создано письмо, где в поле «Копия» будут указаны адресаты, перечисленные в исходном письме

Вы получили письмо с определенного адреса. В поле «Копия» стоит еще несколько адресов. Вы хотите ответить только тому человеку, с адреса которого пришло письмо. Какую кнопку нужно нажать?

· Ответить

· Ответить всем

· Создать сообщение

· Переслать

Для чего используется кнопка «К исполнению»?

· Чтобы установить напоминание в календаре

· Чтобы подготовить ответ от имени руководителя

· Чтобы письмо всегда было помечено как непрочитанное

· Чтобы переслать письмо подчиненному

Определение какого понятия приведено ниже?

· Открытые данные

· Паспорт открытых данных

666. Определение какого понятия приведено ниже:

· Открытые данные

· Открытые государственные данные

· Паспорт открытых данных

В каком формате не осуществляется подготовка данных для набора открытых данных с целью их публикации на Портале открытых данных Российской Федерации?

· формате XML

· формат DOC

· формате CSV

Какая из пиктограмм позволит запустить программное приложение для создания набора открытых данных в формате CSV?

Таблица 1

Таблица 2

· Таблица 1

· Таблица 2

Какая из таблиц соответствует требованиям для публикации набора открытых данных?

Таблица 1

Таблица 2

· Таблица 1

· Таблица 2

Доброго времени суток, друзья! Сегодня очередная статья, посвященная CMS Joomla, вернее не самому движку, а созданию контактов с формой обратной связи. Особенностью Joomla формы обратной связи является то, что все инструменты необходимые для ее создания находятся у вебмастера под рукой, и нет нужды в скачивании и установке дополнительных расширений . CMS оснащена встроенным компонентом «Контакты», а также плагином защищающим от спама «reCAPTCHA».

Условно реализацию поставленной затеи можно разделить на несколько этапов, а именно:

Создание и настройка контакта.

Организация вывода страницы, на которой будет находиться вся необходимая информация обратной связи.

Включение, настраивание и добавление капчи.

Зачем нужна форма обратной связи

Форма обратной связи является тем связующим элементом сайта, благодаря которому пользователи и владелец веб-проекта могут поддерживать между собой связь. Именно в форме обратной связи указывается особенно важная информация (мобильный номер, e-mail), позволяющая пользователю отправить владельцу свои предложения и пожелания либо заказать товар.

Форма обратной связи Joomla представляет собой пустые поля, необходимые для ввода посетителем конкретных данных (его имя, адрес электронной почты, тема письма), после заполнения необходимо активировать отправку, нажав специальную кнопку «Отправить».

Для большего удобства посетителей, форму обратной связи рекомендуется размещать в видимом месте (чаще всего это шапка сайта). А так как мы организуем ее вывод с помощью созданного пункта меню, она будет отображаться на всех страницах в месте нахождения горизонтального меню.

Какую информацию желательно оставить владельцу сайта?

Мобильный номер (коммерческие веб-проекты, интернет-магазины).

Адрес (коммерческие веб-проекты, интернет-магазины).

График работы, способ доставки и возможные способы оплаты (коммерческие веб-проекты, интернет-магазины).

E-mail, Skype и т.п. (блоги, сайты-визитки, одностраничники, коммерческие веб-проекты, интернет-магазины).

Joomla контакты

После этих действий перед вами откроется аналогичная приведенной внизу страница, только с незаполненными полями. «Редактировать контакт » - одна из трех вкладок, в которой нужно выполнить кое-какие настройки.

Имя – можете указать любое понравившееся вам имя, оно все равно будет скрыто от глаз пользователей.

Алиас – поле заполняющееся автоматически, т.е оставляем пустым.

Связанный пользователь – это имя, которое будет отображаться при комментировании. Можно указать свой псевдоним или оставить имя присвоенное системой по умолчанию «Super Users».

Изображение – предусматривается возможность выбора изображения, которое будет привязано к сему контакту.

Должность – позволяет задать должность сотрудника, к которому будут привязаны контакты.

E-mail – отвечает за отображение электронного адреса контактного лица.

С остальными полями вы и так разберетесь, в них можно указать адрес, индекс, мобильный и стационарный номер телефона, факс и т.п.

В правой области экрана (сайдбар) необходимо выбрать Состояние/Опубликовано, Категория/Uncategorised, Избранные/Нет.

«Дополнительная информация » - вкладка с текстовым редактором, в котором рекомендуется прописать краткое приветствие.

Можете использовать мое приветствие в качестве шаблона, подглядев его перейдя по ссылке .

«Настройка отображения контента » - отвечает за отображение формы обратной связи.

Показывать форму обратной связи – «Показать».

Отправлять копию отправителю письма – в зависимости от вашего выбора позволяет скрыть или показать отправителю копию его же письма.

Создание пункта меню Joomla для вывода контактов и формы обратной связи

На следующем этапе следует отправиться во вкладку Меню/Main Menu/Создать пункт меню.

На открывшейся странице меню присваиваем заголовок. Так и пишем «Контакты».

Тип пункта меню – нажимаем синюю кнопку «Выбрать», после чего на открывшейся странице выбираем Контакты/Контакт.

Выбор контакта – здесь-то нам и нужно привязать до этого созданный контакт к пункту меню. Нажимаем «Выбрать» и кликаем по соответственному контакту.

После внесения нужных корректировок нажимаем кнопку «Сохранить». В итоге у вас на сайте появится новая кнопка меню «Контакты», кликнув по которой пользователь может обнаружить форму обратной связи и легко связаться с вами.

На этом можно было бы и закончить, если бы не одно, но! Куча никому не нужных писем, которыми ваш почтовый адрес завалят спам боты.

Защита Joomla от спама посредством настройки встроенного плагина reCAPTCHA

Что такое CAPTCHA? Это инструмент защиты, позволяющий эффективно бороться с автоматической регистрацией и отправкой писем. Это специальная форма, в которой пользователь интернета обязуется выполнить определенное действие (ввести символы, ответить на общеизвестный вопрос или сложить из частей изображение).

CMS Joomla обзавелась встроенной капчей начиная с 2,5 версии, до этого нужно было довольствоваться сторонними расширениями. Несмотря на то, что в Джумла используется reCAPTCHA, мы попытаемся настроить более современную и, на мой взгляд, удобную версию. Вот как она будет выглядеть после выполнения всех настроек.

Для начала давайте включим плагин, отправившись в Расширения/Менеджер плагинов. Для более удобного и быстрого поиска я рекомендую прописать в строке поиска – captcha и нажать значок, отвечающий за поиск. В итоге у вас откроется аналогичное окно. Нажимаем на крестик возле пункта «Состояние», тем самым запускаем плагин и нажимаем по словосочетанию - CAPTCHA – reCAPTCHA.

Пришло время получить «Публичный ключ», а также «Приватный ключ».

Для получения ключей необходимо отправиться по ссылке . Это один из многих сервисов принадлежащих Google. У вас обязательно должна быть собственная учетная запись. Вы легко сможете авторизироваться, введя свои данные, которые ранее использовали для добавления RSS-ленты на сервисе Feedburner или устанавливая код Google Adsense на Joomla .

При помощи открывшейся формы нужно пройти регистрацию сайта.

Название – присваиваем название (допустим название главной страницы).

Выберите тип reCAPTCHA – позволяет выбрать тип капчи - reCAPTCHA V2 – стандартная форма, для прохождения которой необходимо установить галочку возле словосочетания «Я не робот»; Invisible reCAPTCHA – проверка пользователей в фоновом режиме.

Ставим галочку возле предложения «Примите условия использования reCAPTCHA» и «Отправлять владельцам оповещения», после чего нажимаем кнопку «Регистрация».

Ну вот, наши ключики готовы. Осталось всего ничего. Копируем значение поля «Секретный ключ» в поле «Приватный ключ» в стандартном плагине reCAPTCHA, а поле «Ключ» в поле «Публичный ключ».

После получения и внесения ключей можно выбрать «Стиль» наиболее подходящий для вашего сайта, а также «Размер». Теперь нужно кликнуть «Сохранить и закрыть», после чего отправиться по пути Система/Общие настройки/CAPTCHA (по умолчанию) и выбрать единственное предусмотренное системой значение «CAPTCHA - reCAPTCHA». Опять нажимаем «Сохранить» и проверяем работоспособность капчи, зайдя в форму обратной связи Joomla.

Как видите, все работает. Если у вас возникли какие-нибудь сложности, давайте решим их вместе в комментариях.

Спасибо за внимание и до скорого на страницах Stimylrosta.

Обнаружили в тексте грамматическую ошибку? Пожалуйста, сообщите об этом администратору: выделите текст и нажмите сочетание горячих клавиш Ctrl+Enter