Как избежать регистрации поддельного адреса электронной почты, используя трюк Gmail - PullRequest
0 голосов
/ 03 июня 2019

Отказ от ответственности : провайдеры временных почтовых рассылок выходят за рамки этого вопроса.

Допустим, у меня есть простое веб-приложение example.com.И я действительно хочу, чтобы мои пользователи были уникальными (по крайней мере, для идентификаторов моей базы данных).

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

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

Пока все хорошо, однако пользователь с user@gmail.comможет создать много аккаунтов ( 8192 в соответствии с https://thebot.net/api/gmail/)

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

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

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

Я просто выбрал неправильный путь для такого рода проверки?

Редактировать : примером такого рода злоупотреблений может служить веб-сайт с торрент-файлами, где вы должны поддерживать соотношение 1.

Когда вы создаете учетную запись, у вас соотношение 15 (как будто вы добавили 15И загрузил 1 ГБ), если пользователь может создать несколько учетных записей с одним и тем же адресом электронной почты, мне кажется, что это проблема для сайта.

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

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

У меня лично нет сайта, который быдействительно полезно предотвращать этот трюк, но мне любопытно.

1 Ответ

2 голосов
/ 04 июня 2019

Вы не сможете однозначно определить, принадлежат ли два произвольных адреса одному и тому же пользователю.

Интерпретация «локальной» части адреса электронной почты (бит перед знаком «@»)) оставлен на каждом почтовом сервере, поэтому, хотя вы можете знать особую обработку точек доступа в Gmail, вы не можете придумать общий подход для любого адреса электронной почты.Например, даже не выходя из Gmail, у вас есть трюк «+» для разных писем, не говоря уже о семантике, которую может использовать любой другой почтовый сервер.Вы можете попытаться адаптироваться при обнаружении злоупотреблений, однако это быстро станет ресурсоемкой игрой в кошки-мышки.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...