Я хотел бы предоставить ссылки "Отписаться" одним щелчком мыши в нижнем колонтитуле сообщений электронной почты, отправляемых моей службой.
Очевидно, что многие сканеры спама сканируют электронные письма и следуют по любым ссылкам, найденным в электронных письмах, для сканирования их содержимого на наличие вредоносных программ. Обходной путь, который я использовал до сих пор:
- Если страница «Отписаться» запрашивается через HTTP GET, она отображает простую форму подтверждения и небольшой JS, который отправляет форму при загрузке страницы.
- Если страница «Отписаться» запрашивается через HTTP POST, мы отписываем пользователя
Таким образом, пользователю обычно требуется всего один клик по форме, и он получит сообщение «Вы были отписаны». Если у них отключен JS, они все равно могут вручную отправить форму подтверждения.
Теперь проблема в том, что некоторые сканеры, такие как ATP в Office365, открывают страницы и запускают внутри них JS . Выполняя JS, они отправляют форму и заставляют пользователя автоматически отписаться.
Я рассмотрел добавление проверок в логику автоматической отправки JS:
- не отправлять автоматически для определенных пользовательских агентов
- не отправлять автоматически для определенных диапазонов IP-адресов клиентов
- вызвать автоматическую отправку при перемещении мыши
Но все это похоже на хрупкие методы, в лучшем случае хаки, которые обязательно сломаются, когда сканеры электронной почты изменят свою тактику.
Я уверен, что эта проблема имеет много людей до меня. Известны ли разумные обходные пути, кроме отказа от функциональности одним щелчком мыши?
PS. Я добавил поддержку RFC 8058, но пользователи все еще будут переходить по ссылкам в нижнем колонтитуле.
источник
Ответы:
Это тема постоянных дискуссий в M³AWG (Рабочая группа по обмену сообщениями, вредоносным программам и мобильным средствам защиты от злоупотреблений). Это беспорядок, и нет простых решений. Похоже, вы все делаете правильно, но некоторые антиспам-системы слишком агрессивны.
Большая проблема в том, что все, что вы можете сделать, может быть сделано также ненадлежащим маркетологом или спамером.
Лучшее предложение, которое я услышал, это просто включить таймер в действие. Добавьте капчу для пользователей, которые отписались в течение 5 минут с момента доставки, а затем удалите капчу. (Do не реализовать это для RFC 8058 List-Unsubscribe-сообщение ссылку.)
Мое следующее любимое предложение - добавить канарейку в сообщение. Это должно быть невидимым для читателей. Если он выполняется, он отменяет недавнюю активность кликов с этого IP-адреса и временно блокирует IP-адрес от триггеров действий.
Мне тоже нравятся ваши идеи, просто убедитесь, что если Javascript отключен, пользователь все равно может отписаться после нажатия кнопки подтверждения.
Есть часть меня (предупреждение, я антиспам исследователь), которая хочет этих ложных срабатываний. Надеюсь, это научит моих сверстников, что они делают такую плохую работу, и что эти обострения будут продолжаться. С вашей точки зрения, вы можете потерпеть неудачу (хотя при этом вы потеряете несколько подписчиков).
Системы обнаружения спама должны быть осторожны, чтобы избежать ссылок управления подпиской (по крайней мере, пока злоумышленники не начнут маскировать свои полезные данные как неописуемые ссылки).
источник