Каковы наилучшие способы предотвращения поддельных регистраций?

Я хотел бы узнать больше о решениях, ограничивающих регистрацию на веб-сайте только для людей.

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

5 ответов

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

  1. Пользователь переходит на страницу входа, вводит свой адрес электронной почты и нажимает на флажок "Я подписываюсь".
  2. Пользователь нажимает "зарегистрироваться", его адрес электронной почты вставляется во временную таблицу SQL (называется signups) и на адрес электронной почты отправляется письмо со ссылкой для подтверждения.
  3. Пользователь нажимает ссылку для подтверждения, которая приводит его на страницу "Создать пароль".
  4. После того, как пользователь создает свой пароль, адрес электронной почты и пароль вставляются в users таблица - и запись в signups таблица удалена.

пример регистрации в веб-приложении

Это делает это легко и надежно.

signups Таблица также включает в себя случайный хэш SHA1 (для ссылки проверки), отметку времени, установленную на 12 часов после регистрации, и IP-адрес.

Все записи в signups таблица, у которой есть отметка времени с истекшим сроком, удаляется в определенные части дня.


Обновить

С момента написания этого ответа я обнаружил, что защита формы регистрации от роботов - это бесконечная битва.

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

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

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

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

Короче говоря, у вас есть поле в форме с общим именем - скажем, email, Ваш актуальный email поле имеет другое случайное имя, например larp,

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

Если какие-либо регистрации приходят с email Заполните поле, отправьте сообщение об успешном завершении и затем оставьте его.

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

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

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

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

Другие вопросы по тегам