PHP Email Activation - Как избежать злоупотреблений? - PullRequest
1 голос
/ 19 июля 2010

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

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

Ответы [ 2 ]

3 голосов
/ 19 июля 2010

Установка предела X напоминаний за Y часов / дней - это определенно то, что нужно сделать:

  • Вы можете разрешить 2 или 3 письма в первый час - если одно письмо потеряно, может быть полезно разрешить более одного
  • Тогда всего 5 писем в тритоне целый день; или даже неделю.

Если 3 письма не будут доставлены пользователю, шансы довольно малы, что 4-е будет ...
(И 2 или 3 письма уже довольно щедры - я бы сказал, что достаточно 1 почты в день практически в любой возможной ситуации)

1 голос
/ 19 июля 2010

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

Предположительно, они не могут разместить свой собственный контент в таких письмах? Потому что это просто электронная почта активации? Это должно означать, что, кроме «общей неприятности», у людей нет никаких стимулов злоупотреблять ими, как если бы они могли спамить, верно?

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

Существуют ли более эффективные решения, чем просто установка ограничения грубой силы?

Помимо ограничения, вы можете использовать более щедрое количество «льготных» попыток, чтобы ограничение не применялось до тех пор, пока не истечет это количество льготных попыток.

Например, 5 в день на IP-адрес может быть ограничением, но применять этот предел можно только после того, как кто-то сделает больше 20 в день. Отрегулируйте числа в зависимости от того, что вы считаете «ненормальным» или нет.

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