У меня много пользователей, которые ориентированы на электронную почту и хотят иметь возможность создавать новые темы через email. Я уже включил эту функцию, но беспокоюсь о возможном спаме через подделанные (намеренно или по случайному совпадению) адреса электронной почты.
Есть ли способ разрешить эту функцию, но при этом для каждой новой темы отправлять сообщение обратно на предполагаемый адрес отправителя с просьбой ответить для подтверждения?
Если у вас не включена опция enable_staged_users, то вам не о чем беспокоиться. Если же она включена, то, по моему мнению, вы можете настроить требование членства в группе для публикации в этих категориях (например, tl_2), и это обеспечит защиту.
Кажется, что автор поста меньше беспокоится о новых спам-аккаунтах и больше о спамерах, подделывающих заголовки электронной почты так, чтобы они совпадали с легитимным, существующим аккаунтом.
Значит, им нужно угадать и адрес для публикации в категории, и адрес электронной почты реального пользователя. Это кажется довольно маловероятным, хотя, если аккаунт электронной почты кого-то взломали и хакер отправил письмо всем контактам из адресной книги, такое возможно.
Ну, мы делаем адрес для публикации в категории общедоступным, чтобы люди могли туда писать. И, кроме того, несложно узнать, например, мой адрес электронной почты, поскольку я использую его для общения с людьми. Взлом здесь не требуется.
Так что это будет скорее вандализмом, чем спамом, поскольку это будет кто-то, кому вы писали и кто знает о вашем сообществе. Если промежуточные почтовые серверы применяют SPF и DMARC, у вас будет некоторая защита. И вы администратор, поэтому помощь от Akismet вам не понадобится. Это может стать проблемой, но всё ещё кажется довольно маловероятным. Думаю, вы могли бы придумать способ разместить свой адрес электронной почты в Discourse так, чтобы он не был публичным.
Однако это была бы довольно целенаправленная атака, направленная одновременно и на конкретный форум, и на некоторые учётные записи пользователей. От обычного спамера такого ожидать не стоит.
Возможно, более жизнеспособным вариантом, по крайней мере для случайного автоматизированного спама, было бы проведение спамером так называемой «радужной атаки» (осознаю, что это, вероятно, не совсем верный термин), подделывая множество заголовков из любых баз данных реальных адресов электронной почты, которые они используют для таких целей, как мошенничество 419.
Тем не менее, это всё ещё потребовало бы от человека:
Осознать, что это теоретически осуществимый вектор атаки именно для вашего форума.
Найти адреса для отправки почты.
Настроить автоматическую рассылку, нацеленную только на эти адреса.
На самом деле это звучит как гораздо больше работы, чем запуск нескольких учётных записей-аватаров, управляемых людьми…
Поскольку наше сообщество существует с 2003–2004 годов, у нас есть открытые списки рассылки. Адреса людей находятся в этих списках. Мы могли бы попросить всех зарегистрироваться с использованием второго, секретного адреса электронной почты, но это само по себе создаст барьер. В любом случае, адреса электронной почты вообще не следует рассматривать как секретные.
Я не собираюсь вдаваться в классификацию спамеров на обычных или особых, но нам определённо нужно беспокоиться о обоих типах. Ранее мы уже сталкивались с довольно целенаправленными спам-атаками (например, мошенничество с поддержкой QuickBooks и т. д.).
И, чтобы никому не приходить в голову, но: я также беспокоюсь о злонамеренном подделывании личности, не связанном со спамом. Предлагаемый механизм позволит создавать темы по электронной почте (с незначительным неудобством в виде дополнительного шага) без такого риска, если только адрес электронной почты не будет фактически захвачен, в котором случае возникнут более серьезные проблемы.
Все входящие посты через электронную почту требуют модерации
плагин отправляет письмо со ссылкой для подтверждения (уникальной для каждого поста)
если ссылка нажата, плагин одобряет пост
Кстати: если тема, которую вы создали, быстро отклоняется от вопроса в сторону запроса функции или плагина, вы можете пометить её и попросить модераторов изменить категорию, вместо того чтобы создавать новую тему. Это позволяет сохранить раннее обсуждение мотивации запроса в одном месте. Если позже потребуется чистка, модераторы займутся этим.
Я бы согласился на плагин, хотя мы находимся на тарифном плане Business с хостингом, поэтому произвольный плагин реализовать сложнее (а план Enterprise стоит больше, чем у меня есть средств, по крайней мере, до того, как это станет нашей основной платформой для асинхронной коммуникации. А для этого мне точно нужны функции, удобные для работы с электронной почтой. Поэтому я надеюсь, что команда сочтет это разумным и реализует это как основную функцию.