Стратегії запобігання сканерам електронної пошти не активувати посилання "скасувати підписку"


10

Я хотів би надати посилання "Скасувати підписку" одним натисканням кнопки в нижньому колонтитулі електронних листів, які надсилає моя служба.

Очевидно, що багато сканерів спаму скануватимуть електронні листи та перейдуть за будь-якими посиланнями, знайденими в електронних листах, щоб сканувати їх вміст на наявність шкідливих програм. Я досі використовував вирішення:

  • Якщо на сторінку "Скасувати підписку" запитується через HTTP GET, вона надає просту форму підтвердження та трохи JS, що подає форму при завантаженні сторінки
  • Якщо на сторінку "Скасувати підписку" запитується через HTTP POST, ми скасовуємо підписку на користувача

Таким чином, користувачеві, як правило, потрібен лише один клік по формі, і він отримає повідомлення "Ви відписалися". Якщо у них відключений JS, вони все ще можуть вручну надіслати форму підтвердження.

Тепер проблема полягає в тому, що деякі сканери, такі як ATP Office365, відкриють сторінки та виконують JS всередині них . Виконуючи JS, вони надсилають форму і викликають автоматичну підписку на користувача.

Я розглядав можливість додавання чеків до логіки автоматичного подання JS:

  • не надсилайте автоматично для конкретних користувачів-агентів
  • не надсилайте автоматично певні діапазони IP-адрес клієнта
  • запустити автоматичне подання події переміщення миші

Але все це здається крихкими методами, хакери в кращому випадку неминуче порушуються, коли сканери електронної пошти змінюють свою тактику.

Я впевнений, що ця проблема попередила багатьох людей до мене. Чи відомі обґрунтовані шляхи вирішення, окрім того, щоб просто відмовитися від функціонування одним клацанням?

PS. Я додав підтримку RFC 8058, але користувачі все ще збираються натискати посилання в нижньому колонтитулі.


1
Цікава проблема - щось, що мені спадає на думку, це нова невидима система reCAPTCHA v3 від Google, як правило, вона не вимагає від користувача жодних дій, якщо це виглядає нормально.
Владан

@Vladan міг би працювати у "щасливій справі". Якщо перевірка reCAPTCHA не вдається (наприклад, через те, що сторінка відкривається всередині клієнта електронної пошти, де немає файлу cookie Google), це дуже дратує кінцевого користувача. Крім того, дані надходять до Google, тому вам потрібно бути комфортним, згадувати їх у політиці конфіденційності тощо.
Pēteris

У нас однаковий функціонал. Але ми використовуємо Emarsys для створення електронних листів, що надсилаються користувачам, і в нижньому колонтитулі є просте посилання (закодоване), яке виконує цю роботу. Тепер ви мене цікавите, чи мої користувачі скасовуються підписки на сканери електронної пошти?
Ведран Марічевич.

Відповіді:


7

Це тема, що триває в M³AAWG (Робоча група з обміну повідомленнями, зловмисним програмним забезпеченням та мобільних програм проти зловживань). Це безлад і легких рішень немає. Здається, ви все робите правильно, але деякі системи проти спаму є занадто агресивними.

Велике питання полягає в тому, що все, що ви можете зробити, також може зробити зловживаючий маркетолог або спамер.

Найкраща пропозиція, яку я чув, це просто поставити таймер на дію. Додайте капчу для користувачів, які скасували підписку протягом 5 хвилин після доставки та видаліть її. (Do НЕ реалізувати це для RFC 8058 List-Unsubscribe-повідомлення посилання.)

Наступна моя улюблена пропозиція - додати канальне посилання до повідомлення. Це має бути невидимим для людських читачів. Якщо його дотримуватися, він повертає активність недавнього натискання з цього IP-адреси та забороняє IP-адресу від тригерів дії на деякий час.

Мені подобаються і ваші ідеї, просто переконайтеся, що якщо Javascript відключений, користувач все одно може скасувати підписку після натискання кнопки підтвердження.

 

Є частина мене (попередження, я дослідник проти спаму), яка хоче цих помилкових позитивних результатів. Сподіваюсь, це навчить моїх ровесників, що вони роблять таку погану роботу і що ці ескалації продовжуватимуться до них. З вашої точки зору, ви отримаєте долар (хоча ви втратите кілька підписників у процесі).

Системи виявлення спаму повинні бути обережними, щоб уникнути посилань на управління підпискою (принаймні, поки погані хлопці не почнуть маскувати свої корисні навантаження як непідписані посилання).


Дякую! Це обидва гарні ідеї, про які я не думав. Я спробую підхід таймера. У моєму випадку "CAPTCHA" - це проста кнопка посередині екрана, яку просто потрібно натиснути. Для швидко відкритих посилань на скасування підписки я не включатиму JS для автоматичного натискання на цю кнопку. Це повинно обійти принаймні ATP Office365, який сканує посилання протягом хвилини після надсилання електронного листа. Канарські посилання було б досить важче здійснити (скасування дій, відстеження заборонених IP-адрес). Плюс є ризик того, що сканери спаму можуть позначати електронні листи з невидимими посиланнями як спам / зловмисне програмне забезпечення.
Pēteris
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.