Предотвращение переполнения базы данных в реестре

У меня есть небольшая веб-страница, где вы можете войти / зарегистрироваться. Все завершено, но я хотел сделать его более безопасным для меня — на стороне сервера.

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

Я думал о таблице IP-адресов в моей базе данных, чтобы я мог ограничить один IP-адрес для регистрации всего 3-4 пользователей, но потом я понял, что существует много локальных интернет-провайдеров, которые используют один общедоступный IP-адрес для нескольких хостов, и это не не так хорошо Я тоже думал о том, чтобы создать какой-нибудь cookie-файл, поэтому cookie-файл будет блокировать пользователя на некоторое время после 5 регистраций, но пользователь может легко удалить cookie-файл и запустить его снова.

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

Есть ли у вас какие-либо предложения, как я могу это сделать? Я хочу написать это на php-mysql, но если есть лучший способ сделать это на js или любом другом языке, я открыт для предложений. Может быть, у кого-то есть опыт с такими вещами? Спасибо.

0

Решение

использование CAPTCHA, для предотвращения автоматического подмены формы.

Термин CAPTCHA (полностью автоматизированный публичный тест Тьюринга, отличающий компьютеры и людей друг от друга) был придуман в 2000 году Луисом фон Аном, Мануэлем Блумом, Николасом Хоппером и Джоном Лэнгфордом из Университета Карнеги-Меллона.

3

Другие решения

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

2 + 9 = [ ]

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

0

По вопросам рекламы [email protected]