Валидация емейл адресов для защиты от спам ботов на сайте

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



    Есть несколько важных причин для этого.

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

    Во-вторых, этот пользователь не получит ваших емейл уведомлений.

    В-третьих, пользователь, чей емейл был использован спамером для регистраций/подписки, отправит вашу рассылку в спам. В дальнейшем спамеры могут использовать этот емейл для отправки спама, брутфорса и т.д.

    Использование таких емейлов для маркетинговых рассылок и других емейл рассылок, может нести определенные риски для владельца сайта и увеличить риски добавления в списки DNSBL, различные blacklist'ы, увеличить вероятность попадания в папку спам и других ваших электронных писем. Увеличить ваши затраты бюджета на рассылки на фейковые адреса или на адреса, владельцы которых были скомпрометированы спамерами.

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

    Недавно мы запустили проверку существования email адресов, которая проверяет, существует ли такой емейл адрес или нет. Он использует MX-записи домена адреса электронной почты и подключается к почтовым серверам (через SMTP, а также имитирует отправку сообщения), чтобы убедиться, что почтовый ящик действительно существует для этого пользователя/адреса, и он может получать почту.

    Эта проверка решает сразу несколько задач, снижение вероятности пропуска спама и позволяет пользователям проверить емейлы своих пользователей. Для проверки пользователей можно использовать API метод https://cleantalk.org/help/api-spam-check.

    Пример результата ответа API для https://cleantalk.org/blacklists?record=mattressfg%40gmail.com

    {"data":
                {"mattressfg@gmail.com":
                          {"appears":1,
                          "frequency_time_10m":0,
                          "spam_rate":"1",
                          "frequency":"8",
                          "frequency_time_24h":1,
                          "updated":"2018-03-26 00:26:48",
                                                      "exists": 0, 
                          "frequency_time_1h":1}
                }
    }
    




    На данный момент, мы используем этот инструмент только для улучшения определения спама и проверяем все емейл адреса, у которых была спам активность за последние 10 минут. Для проверенных адресов, в базе выставляется флаг, который учитывается в дальнейшей фильтрации спама и ответе API.

    «exists»:«1» — существует
    «exists»:«0» — не существует

    Можно подвести промежуточные итоги, доля несуществующих емейл адресов в рассылке спама, составляет 25,34%.

    Мы собираем информацию о спам IP/email адресах с более чем 237 000 веб сайтов. База емейл адресов содержит более 10 095 239 емейл адресов. И в наших ближайших планах, проверить все емейлы в базе данных и запустить проверку по всем емейл адресам которые обрабатываются сервисом.
    CleanTalk Anti-Spam
    Компания
    Реклама
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее

    Комментарии 33

      0
      Какая вероятность ложного срабатывания вашего сервиса?
      Если будет какой-нибудь экзотично настроенный почтовый сервер?
        0
        Могу привести данные по статистике всего сервиса, эффективность составялет 99,998%. Так как при фильтрации учитывается группа параметров.

        Если будет какой-нибудь экзотично настроенный почтовый сервер?


        Думаю что это возможно, но маловероятно. Так как сервис логирует все запросы, то владелец сможет найти его, и внести домен в белые списки или сообщить нам, и мы внесем этот домен в исключения. Мне кажется такой вариант очень маловероятным.
        0
        Функционал интересный, но опасный. Уже представляю дорвеи, «зарегистрируйся что-бы получить ответы/прочесть новость/скачать файл» и прочий фишинг, который проверяет таким образом адреса.
          0
          Это уже и так существует. реальные емейлы давно собирают и продают, но думаю для других целей, больше для спама на эти емейлы.

          Как я уже писал, фейковые емейлы сотставляют только 25,34%. Если спамер использует настоящий емейл, то ему надо иметь к нему доступ, что бы получить ссылку. А в собранных таким образом емейлах, доступа у него не будет и ему они бесполезны.

            0
            Не совсем то.
            Юзкейсы:
            • попадаю на трешевый сайт, ввожу фейковое мыло, трешевый сайт пропускает дальше.
            • попадаю на трешевый сайт, ввожу фейковое мыло, трешевый сайт делает проверку по вашей технологии, трешевый сайт НЕ пропускает дальше и требует реальную почту.
              0
              попадаю на трешевый сайт, ввожу фейковое мыло, трешевый сайт делает проверку по вашей технологии, трешевый сайт НЕ пропускает дальше и требует реальную почту.


              У того, кто это делает, должна быть какая то цель. Как я понял, цель собрать реальные емейлы?
              Очень сложный вариант. Думаю что есть методы проще чтобы собрать базу реальных емейлов. Проще купить, использовать сервисы емейл рассылок у которых есть базы с миллионами реальных емейлов.
                0
                Вы смотрите с точки зрения владельца сервиса. Да, купить проще, но мне как пользователю иногда совершенно не хочется вводить реальный адрес, даже если сайт вполне себе безобиден.
                  0
                  Некторые пользователи используют несколько емейл адресов. Один личный, другой рабочий и еще один для регистраций и прочего.
                  0
                  Как один из вариантов — повышение эффективности фишинга. Одно дело когда фейковый вконтактик на вбитое не существующее мыло и пароль говорит «ваш аккаунт заблокирован, отправьте СМС туда-то», а совсем другое когда он говорит «такого аккаунта не существует».

                  Мини-отступление
                  Вообще пора заводить в компаниях должность штатного Риддика — как Риддик в фильме мог убить человека любым подручным предметом, даже кружкой, Риддик-должность должен изобретать как новые сервисы/алгоритмы/продукт могут быть использованы с противоправными целями.
                    0
                    И молоток можно в разных целях использовать
            +1
            для любого онлайн бизнеса и владельцев веб сайтов важно быть уверенным, что именно владелец емейла использовал его для регистрации/подписки, чтобы пользователь использовал свой реальный емейл адрес.
            Что мешает владельцу сервиса/сайта отправить на введённый пользователем адрес почты ссылку для подтверждения?
            В чём смысл делиться данными о потенциальном пользователе с вами?
              0
              Не у всех CMS, не на всех сайтах есть подтверждение действий по емейлу. В WordPress комментариях например, никто не делает подтверждение комментария по почте. Поэтому фейковых емейлов такой небольшой процент, всего 25,34% емейлов спамеры используют фейковых.

              Нам это важно еще и с той стороны, что спаммер использует этот емейл в дальнейшем, но мы будем о нем уже знать, как и о его IP адресе.
                +2
                Не у всех CMS, не на всех сайтах есть подтверждение действий по емейлу
                Так и не у всех CMS, не на всех сайтах есть возможность вызова внешних API.

                Нам это важно еще и с той стороны
                Зачем это важно вам, вполне ясно.
                Зачем владельцу сервиса/сайта делиться данными о пользователях с вами?
                Гипотетическая ситуация — пользователь вводит на моём сайте «чистый» (нигде ранее не использованный и не засвеченный email), я отсылаю его вам на проверку. Вас ломают злобные хакеры, email «светится», пользователь начинает получать спам. Винить в «сливе» своего адреса пользователь будет меня, т.к. он свой адрес давал только мне.
                Так чего ради мне делиться с вами адресом пользователя, ставя под угрозу лояльность пользователя по отношению ко мне?
                +2
                Смысл в том, чтобы отправлять ссылку для активации акаунта только на существующие Email адреса, тем самым вы исключите опечатки в email адресах, т.е. повысите качество ваших веб-приложений и снизите количество не активных акаунтов, не подтвержденных Email адресов.
                  +1
                  тем самым вы исключите опечатки в email адресах
                  Чушь. Опечатки в email-адресах совершаются пользователями. Количество опечаток, совершаемых пользователем, никак не зависит от того, буду я сам слать пользователю письмо на этот адрес, или отдавать этот адрес «на сторону».

                  повысите качество ваших веб-приложений
                  Можно поподробнее? «Если вы будете отсылать письмо по введенному пользователем email сами, то в вашем приложении будут такие-то ошибки, а если отдадите этот адрес нам — в вашем приложении количесво таких ошибок уменьшится на 100500%».

                  Смысл в том, чтобы отправлять ссылку для активации акаунта только на существующие Email адреса, тем самым… снизите количество не активных акаунтов, не подтвержденных Email адресов.
                  Рассмотрим два варианта:
                  • Я самостоятельно отправляю ссылку для активации на несуществующий адрес. По ней просто никто не перейдёт, и неактивный аккаунт и неподтверждённый email я самостоятельно удалю из базы. Ваш сервис для меня не несёт никаких плюсов.
                  • Я отправляю адрес для проверки вашему сервису. Он мне ошибочно сообщает: «адрес неправильный». Я теряю пользователя. Ваш сервис принёс мне минус.


                  Так в чём для меня смысл использовать сторонний сервис, вместо того, чтобы проверить адрес самостоятельно?
                    0
                    тем самым вы исключите опечатки в email адресах
                    Чушь. Опечатки в email-адресах совершаются пользователями. Количество опечаток, совершаемых пользователем, никак не зависит от того, буду я сам слать пользователю письмо на этот адрес, или отдавать этот адрес «на сторону».


                    Отправка писем на несуществующие емейлы может иметь риски. Поэтому все сервисы емейл рассылок, такие как Mailchimp обязательно проверяют списки рассылок.

                    Можно поподробнее? «Если вы будете отсылать письмо по введенному пользователем email сами, то в вашем приложении будут такие-то ошибки, а если отдадите этот адрес нам — в вашем приложении количесво таких ошибок уменьшится на 100500%».
                    _________

                    Рассмотрим два варианта:
                    Я самостоятельно отправляю ссылку для активации на несуществующий адрес. По ней просто никто не перейдёт, и неактивный аккаунт и неподтверждённый email я самостоятельно удалю из базы. Ваш сервис для меня не несёт никаких плюсов.
                    Я отправляю адрес для проверки вашему сервису. Он мне ошибочно сообщает: «адрес неправильный». Я теряю пользователя. Ваш сервис принёс мне минус.

                    Так в чём для меня смысл использовать сторонний сервис, вместо того, чтобы проверить адрес самостоятельно?

                    В первом варианте вам не надо ничего отправлять и потом удалять. Это ваши время/ресурсы. Во вотром случае, маловероятно. Только если почтовый сервер криво настроен.

                    Можно все делать самостоятельно, если есть время, ресурсы, знания/деньги. Но в интернете существует более 1,7 миллиардов веб сайтов и не все делают это самостоятельно, а используют существующие решения.

                      +1
                      Отправка писем на несуществующие емейлы может иметь риски
                      Я знаю только один такой риск — получить отлуп «нет такого сервера/ящика». Расскажете об остальных?

                      Поэтому все сервисы емейл рассылок, такие как Mailchimp обязательно проверяют списки рассылок.
                      Во-первых, не надо путать массовые рассылки и проверку наличия почтового адреса.
                      Во-вторых, есть большое подозрение, что сервисы email-рассылок используют такую проверку в качестве одного из факторов для ответа на вопрос «а не используют ли меня спамеры?».

                      Во вотром случае, маловероятно. Только если почтовый сервер криво настроен.
                      Нет, не только. Ваш сервис пишется людьми. Люди совершают ошибки.
                      И код рассылки писем с подтверждающими ссылками собственными силами, и код вашего сервиса могут содержать ошибки. Но есть отличия:
                      • При самостоятельной рассылке обнаружить ошибку можно по логам; при использовании стороннего сервиса остаётся только надеяться, что он не ошибается
                      • При обнаружении ошибки в своём коде её можно поправить, ошибку в стороннем сервисе можно только «зарепортить» и надеяться, что её поправят
                      • Изменения своего кода можно контролировать; изменения внешнего сервиса — нет


                      Можно все делать самостоятельно, если есть время, ресурсы, знания/деньги
                      Вы своим клиентам какие гарантии дадите, что завтра сервис не закроется? Что не забудете домен продлить? Что не ляжете под DDOS?
                      Если таких гарантий нет, то всё равно придётся тратить «время, ресурсы, знания/деньги», чтобы в случае неработоспособности внешнего сервиса самому не сломаться.
                        0
                        Отправка писем на несуществующие емейлы может иметь риски
                        Я знаю только один такой риск — получить отлуп «нет такого сервера/ящика». Расскажете об остальных?

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

                        Во-вторых, есть большое подозрение, что сервисы email-рассылок используют такую проверку в качестве одного из факторов для ответа на вопрос «а не используют ли меня спамеры?».

                        Обязательно. Но и еще для того, чтобы не угодить в спам листы.

                        Мы ведем логи, каждый запрос доступен в ПУ.
                        Ошибки исправляются, так как это влияет на качество сервиса, а мы стараемся делать все качественно.
                        Вы своим клиентам какие гарантии дадите, что завтра сервис не закроется? Что не забудете домен продлить?

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

                        С DDoS мы пока справлялись своими силами. Было две атаки и оба раза мы использовали нашу базу данных спам IP адресов для блокирования. Сервис использует несколько серверов для обработки запросов пользователей, что снижает вероятность полного отказа сервиса, увеличится время ответа API. Сами плагины, установленные на CMS клиентов (если не будет связи ни с одним из серверов) будут работать с ограничениями, при которых увеличится вероятность пропуска спама. Но за 5 с лишним лет такого не было, что бы сразу все сервера были не доступны.
                          +1
                          Если с вашего сервера будут отправляться письма на несуществующие адреса, на допустим gmail, то вероятность попадания ваших писем в спам значительно возрастает в будущем.
                          Допустим, дело обстоит так.

                          Тогда разве ваш сервис, который
                          использует MX-записи домена адреса электронной почты и подключается к почтовым серверам (через SMTP, а также имитирует отправку сообщения), чтобы убедиться, что почтовый ящик действительно существует
                          в такой же ситуации не попадёт в спам-листы?

                          Мне кажется, так можно про любую компанию сказать
                          Именно так дело и обстоит. Если я использую в своём бизнес-процессе сторонний сервис, я становлюсь от него зависимым.

                          Реализовать проверку существования почты через отправку на неё письма не намного сложнее, чем «впилить» для такой проверки поддержку работы со сторонним сервисом.

                          Поэтому лично мне и непонятно, зачем становиться зависимым от стороннего сервиса, когда тот же функционал можно реализовать и самому.
                            0
                            в такой же ситуации не попадёт в спам-листы?


                            Нет не попадет, так как мы не шлем письма. Это делается запросами HELLO или EHLO.

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

                            Спасибо за ваши комментарии!
                              0
                              Нет не попадет, так как мы не шлем письма. Это делается запросами HELLO или EHLO.

                              Извините, но для некоторых, в том числе и серьёзных почтовых систем, проверка исключительно на стадии HELO/RCPT TO не работает, поскольку он на любой, даже не существующий адрес, даётся ответ 250.
                              Отсюда следует, что более или менее надёжный способ проверить существование ящика, это попытаться отправить на него письмо. Причём это тоже не гарантирует его существование, поскольку это может быть спам-ловушка или вообще настроенный для тех же целей catch-all.

                              0

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

                    • НЛО прилетело и опубликовало эту надпись здесь
                        0
                        Не все сайты, не для каждой формы используют подтверждение по емейл(при этом любые лишние действия пользователя снижают конверсию). И если для регистраций подтверждение используется, то для контакт форм, комментариев и даже подписок на новости(хотя там должно быть такое подтверждение подписки), не используется. Поэтому в этих формах возможно использование фейковых емейлов.

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

                        Капча обходится ботами.
                        • НЛО прилетело и опубликовало эту надпись здесь
                            0
                            Не все пользователи готовы разгадывать капчи, кто-то просто уходит с формы, т.е. вы теряете полезный трафик. Количество false/postive на капче считаете?

                            У нас false/negative 0.0008%, false/positive 0.0002% на 2млн. спам атак в сутки.

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

                            Велкам,
                            github.com/CleanTalk/php-antispam
                            • НЛО прилетело и опубликовало эту надпись здесь
                                0
                                Что мешает спам-боту вписывать в поля адреса собранные на страницах профилей того же самого форума (они же все равно, в таком случае, не проверяются)? С точки зрения стороннего сервиса это будет валидный постинг?

                                В смысле пытаться постить от имени других пользователей сайта? Для этого надо иметь доступ к акаунтам пользователей, а это уже вопрос безопасности сайта.
                                • НЛО прилетело и опубликовало эту надпись здесь
                                    0
                                    Да, теоритически можно компрометировать настоящего владельца Email адреса постя сообщения от его имени, к примеру так,
                                    cleantalk.org/blacklists/johnd530@gmail.com

                                    В таком случаи можно рекоммендовать не оставлять свой Email в подозрительных местах, а тем более избегать сайтов, которые публикуют ваш Email на своих страницах. Это моветон, честно говоря, со стороны владельца веб-сайта, т.к. он подставляет своих пользователей.
                    0
                    Делал себе 6 лет назад похожую систему, а теперь вижу похожее тут) Удачи в развитии сервиса.
                      0
                      Спасибо за пожелания, будем стараться развивать наши сервисы и делать их удобными для пользователей.
                      0
                      В-третьих, пользователь, чей емейл был использован спамером для регистраций/подписки, отправит вашу рассылку в спам. В дальнейшем спамеры могут использовать этот емейл для отправки спама, брутфорса и т.д.
                      Не понял этого пункта, можно подробнее?

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

                      Самое читаемое