Search
Write a publication
Pull to refresh

Comments 63

Хорошо что валидация email в таком формате отсутствует на большинстве сервисов. Стараюсь по необходимости оставлять на разных площадках в качестве контакта свой ящик + имя сервиса. По крайней мере потом по полученному спаму можно узнать кто из контор сливает адреса

Я не предлагаю отрезать «+» и всё после него. Наоборот, в базу должен сохраняться такой имейл, который пользователь указал при первичной регистрации, чтобы работала борьба со спамом. Но вот уже дальнейшие регистрации с этим же ящиком — не позволять

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

А если ещё просить подтверждение создания эккаунта на email, то и вовсе непонятно, зачем это делать.

Я в выводе об этом и написал. Вся эта дополнительная логика — это дополнительная работа. И надо думать в каждом конкретном случае, стоит ли она того, чтобы снизить вероятность определённой ошибки. Приведённые в пример сервисы вроде ChatGPT, Notion, Amazon отслеживают только регистр. А для тестировщиков не сложно сделать исключение по корпоративному домену

по полученному спаму можно узнать кто из контор сливает адреса

Что это дает практически?

Можно заблокировать целиком этот email, всё равно он предназначался для конкретного сервиса

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

И вот поэтому - simplelogin и подобные (в том числе Apple'овский). Спамер получит либо адрес spamer@userdomain.com либо spamer.[A-Z0-9]{4} @один_из_доменов_сервиса_или_подключеных пользователем, любое вырезание приведет к тому что письмо просто не дойдет

Можно. Но вопрос был в другом:

по полученному спаму можно узнать кто из контор сливает адреса

Что это дает практически?

Расшифрую.

  1. по полученному спаму можно узнать кто из контор сливает адреса

  2. то есть можно узнать:
    - из какого источника спамеры взяли адрес на который прислали спам

  3. Узнали.

  4. ...и какой нам профит от того что узнали? Законодательство в этом отношении пшик — у меня ФАС заседали с января по июнь и... ничего.

Антимонопольная служба? Разве она этим должна заниматься, а не РКН? Выглядит-то как нарушение закона о персональных данных.

Спамом — как раз они: https://fas.gov.ru/pages/Reklamnyjspam

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

у меня через плюс указаны группы по тематикам, на которые настроены фильтры почты. Т.е. мне не нужно добавлять адрес откуда мне пришло в какой-то фильтр руками (например, хобби), а это делается автоматом, так как всё про хобби я регистрирую с ящика myemail+hobby@email.com

потом по полученному спаму можно узнать кто из контор сливает адреса

И что с этим знанием делать?

жаль, что не все это позволяют делать

Понять, кто слил данные;

убрать плюс и всё после него

Возможно, я недостаточно акцентировал на этом моменте внимание. "Убрать плюс" — это речь о нормализации имейла. При этом в базу сохраняется и исходный, и нормализованный имейл. И письма отправляться должны на исходный

Вы-то да, а вот спамеры...

Спамерам лень заморачиваться и номализовывать базы

Да, тоже сразу подумал.

Спасет только от недогадливых спамеров, которые не знают этих фич.

То есть легче сразу завести "мусорный" ящик.

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

catchall достаточно распространённая опция, но потом задолбаешься это всё менеджировать.

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

Так вместе с логином нужно запоминать ресурс, на который этот email отдал. Можно в менеджере паролей? Я вот неосторожно дал email какой-то левой конторе, и теперь валятся тонны спама.

Можно дефолтный ящик домена задать и все что не совпадет с существующими ящиками будет сыпаться на дефолтный.

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

Alias можно прописать на спам ящик.

Вы и правда так часто спам встречаете? Я чёт уже начинаю забывать как он выглядит, встречая его последнее время ну крайне редко...

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

Фильтрация почты настроить по субдомену, все остальное в спам. В случае слива субдомена, отправляем его в спам. Всё.
Есть правда проблема, при регистрации нужно добавлять фильтр.

Некоторые сервисы не принимают почту с субдоменами

Никогда не сталкивался. У меня @domain.msk.ru

У меня есть тёска, который гораздо позже меня завёл абсолютно такую же почту на gmail.com, но без точки между именем и фамилией. В итоге мне уже несколько лет сыпятся его письма о регистрации во всяких забавных местах, чеки покупок билетов в каких-то онлайн сервисах и т.п. Гуглу в поддержку писал - бесполезно, они (ну или очередной тупой бот) в полной уверенности, что такой ящик даже завести было невозможно при уже созданном моём.

А ему самому не писали?

Отправить самому себе письмо?

Оба адресата, если учесть что если отправить самому себе, то ты сам и получишь его

Да где же оба? Ты сам и получишь.

О, собрат по несчастью. :D
Я свой аккаунт уже больше 20 лет назад завёл, с точкой в адресе. И долгое время забот не знал. А где-то лет 5 назад начали сыпаться письма от на имя какого-то, судя по языку, турецкого перца который каким-то образом смог на себя зарегать ту же почту но без точки.
И такой ведь активный перец попался, то в Твиттер, то в Мордокнигу, то ещё куда-нить повеселее норовит зарегаться. Так что приходится регулярно тыкать в ссылки "это не я", потому как перец не только активный но и упорный.
Меня это в первую очередь беспокоит на предмет безопасности моего собственного аккаунта - не приходят ли мои письма с кодами подтверждения и прочими критичными вещами какому-то левому человеку? Да и вероятность стать виноватым за чужие подвиги тоже ненулевая.
А почитав в интернетах отзывы других пострадавших, понял что Гугл считает эту проблему несуществующей и особой надежды на исправление нет. Так что на создал новый аккаунт, но переезд много времени и сил требует, ибо много чего за 20 лет накопилось.

anton@gmail.com, anton+habr@gmail.com, an.ton@gmail.com — почему всё это один и тот же имейл

Возможно, это Антон Назаров (осознанная меркантильность) так шифруется, чтобы его снова не забанила администрация Хабра. :)

Касательно самой темы. Где-то на Хабре недавно была статья, где говорилось, что использовать + (плюс) в e-mail адресе - это плохая идея. Так что лучше так не делать.

интересно почитать, так как пользуюсь этим постоянно, кроме случаев, когда сайт запрещает регистрацию с такого ящика

Это старая и забавная фича Гмейла, но делать что-то кроме "привести к нижнему регистру" и "убедиться что хитрые символы нормально попадают в базу и извлекаются из неё" это закладывать базу под будущую проблему.

Я бы здесь уточнил, что, несмотря на gmail.com в примерах, Гмейлу свойственно именно игнорирование точек. А остальные штуки с регистром, доменными алиасами и субадресацией свойственны всем основным почтовикам

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

Что касается пользы плюсов, как защиты от слива, то в целом сомнительно. Ничто не мешает условным спамерам нормализовать адрес.

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

Опасно. Мало ли кто из "хороших" мог нормализовать в своей базе данных. Да и самому всегда что ли плюсики добавлять... Если друг почту просит, ему Anton+Egor@gmail.com давать что ли? И что он подумает о такой почте?

Сперва даже удивился, разве может кто-то не знать про плюс в имейле. Но сразу же понял что это профдеформация.

Кто бы ни придумал эту фичу - большой молодец. Удобно для тестирования чего-нибудь, где требуется рабочее мыло. Можно сколько угодно аккаунтов завести добавляя +1, +2, +admin и т.д. к имейлу и иметь сколько надо рабочих аккаунтов с одним реальным имейлом.

игнорируют регистр букв в локальной части имейла

Что за локальная часть такая?

Да, это то, что идёт до @. В стандарте так и называется "local part"

Попробовал отправить емейл на свой ящик с добавлением плюса, получил 550 User Unknown. Ящик обслуживается МТС, зачем им какие-то RFC?

Зато чтобы получать почту с зарубежных доменов, нужно писать заявление в МТС.

550 User Unknown

Походу почтовый сервер с дефолтными настройками работает именно так. а обработку алиасов нужно прикручивать.

Мне как клиенту нужно ее прикручивать?

Нет конечно. Если авторы сервера не посчитали нужным - значит это не такой строгий стандарт.

Статья явно вдохновлена этой недавней статьей. Можно сослаться для интересующихся, там много дополнительного интересного обсуждения в комментах.

Вдруг человек действительно размечает так почту.

Если этот "вдруг" не случайный, то как стоит относиться к таким продвинутым людям?

требование от безопасников или комплаенса

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

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

Помогите плиз, я все равно не до конца понимаю необходимость нормализации.

Откуда мне знать, какой именно набор правил использовал владелец продукта? Ок, гугл может себе позволить игнорирование точек, чтобы люди поневоле интересовались этим моментом глобально, на уровне окружающей среды. Но остальные компании не настолько крупные, чтобы устанавливать правила в экосистеме интернета в целом и рассчитывать, что их учтут.

Случай, когда две почты с разными тегами (после плюса) достанутся разным людям, уже контролируется держателем почтового сервера.

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

Забавно, что недавно вышла статья на похожую тему, но я её не видел ранее. Моя статья вдохновлена именно случаем на работе, о котором я написал в самом начале.

Если человек действительно размечает так почту, то с его точки зрения ничего не изменится (пока он не захочет завести ещё один аккаунт). Нормализация нужна только для того, чтобы сверить регистрируемый имейл с уже зарегистрированными в системе и не дать завести аккаунт с почтой anton+habr@gmail.com, когда там уже есть anton+habrahabr@gmail.com.

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

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

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

А если говорить об ошибках, можно придумать разные примеры. Например, пользователь сначала зарегистрировался на Хабре с тегом anton+habrahabr@gmail.com, а потом, подзабыв об уже сделанной регистрации и выбранном для этого ресурса теге, регистрируется с тегом anton+habr@gmail.com. То есть это ошибка не на уровне опечатки, а не уровне оговорки или работы памяти.

Ну, я бы так сказал эта проблема не только с электронной почтой)
Похожая проблема есть с номерами телефонов. К примеру в одном онлайн магазине у меня получилось зарегестрировать 2 аккаунта на 1 номер телефона, 8-999 и +7-999. Система распознала их как разные, хотя номер по факту один и тот-же. При этом у платформы было "ограничение" - 1 номер = 1 аккаунт)

Если номер местный, то можно попробовать без кода города ещё. :)

Имхо для борьбы со спамом надо собирать и анализировать мета данные. Постоянно подстраиваясь под поведение спамеров. А придумывать сложные бизнес логики для регистрации пользователя которые не очень понятно как тестировать и проверять так себе идея. Зачем усложнять и создавать в теории проблемы для пользователей которые могут использовать почту так как им удобнее и вы даже не сможете просчитать эти кейсы. Вероятно поэтому ниодна крупная компания так не делает.

Прикол, то есть я если использую email vasya.b@gmail.com то кто-то от вашего сервиса получит Email по восстановлению на vasyab@gmail.com который успел зарегистрироваться раньше, а я буду сидеть и удивляться где мой Email?

На Gmail разные люди не могут завести адреса vasya.b@gmail.com и vasyab@gmail.com. Если вы уже получили в Gmail адрес vasya.b@gmail.com, и какой-то Вася Б. решит завести себе там адрес vasyab@gmail.com, то Gmail скажет, что этот адрес уже занят

Ну вот в какой-то момент он не говорил ничего против (см. мой комментарий выше), а теперь их поддержка того же мнения, что и вы.

Sign up to leave a comment.

Articles