У меня есть небольшая веб-страница, где вы можете войти / зарегистрироваться. Все завершено, но я хотел сделать его более безопасным для меня — на стороне сервера.
На данный момент есть проверка ваших входных данных, но если входные данные верны, он собирается зарегистрировать пользователя и отправить электронное письмо с подтверждением. Я немного боюсь, что кто-то собирается создать какого-нибудь бота, который будет генерировать случайные действительные входные данные и заполнять мою базу данных.
Я думал о таблице IP-адресов в моей базе данных, чтобы я мог ограничить один IP-адрес для регистрации всего 3-4 пользователей, но потом я понял, что существует много локальных интернет-провайдеров, которые используют один общедоступный IP-адрес для нескольких хостов, и это не не так хорошо Я тоже думал о том, чтобы создать какой-нибудь cookie-файл, поэтому cookie-файл будет блокировать пользователя на некоторое время после 5 регистраций, но пользователь может легко удалить cookie-файл и запустить его снова.
У меня есть небольшая работа cron, которая очищает непроверенных пользователей через неделю, но это много времени, так что мне это тоже не поможет.
Есть ли у вас какие-либо предложения, как я могу это сделать? Я хочу написать это на php-mysql, но если есть лучший способ сделать это на js или любом другом языке, я открыт для предложений. Может быть, у кого-то есть опыт с такими вещами? Спасибо.
использование CAPTCHA, для предотвращения автоматического подмены формы.
Термин CAPTCHA (полностью автоматизированный публичный тест Тьюринга, отличающий компьютеры и людей друг от друга) был придуман в 2000 году Луисом фон Аном, Мануэлем Блумом, Николасом Хоппером и Джоном Лэнгфордом из Университета Карнеги-Меллона.
хорошо, если вы чувствуете, что можете попросить пользователя ответить на небольшой дополнительный вопрос, такой как
2 + 9 = [ ]
обе цифры создаются случайным образом, и вы можете зашифровать ответ в cookie.
убедитесь, что вы используете хорошо salt
при шифровании ответа