Кто-то создал на моем сайте две одинаковые учетные записи одновременно.Как это возможно?

StackOverflow https://stackoverflow.com/questions/1367239

  •  21-09-2019
  •  | 
  •  

Вопрос

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

По какой-то причине я сомневаюсь, что это было возможно с помощью форм или любого интерфейса - однако мне более чем любопытно узнать, как это произошло?У кого-нибудь есть идеи?

Это было полезно?

Решение

ПО какой-то причине я сомневаюсь, что это было возможно с помощью форм или любого интерфейса - однако мне более чем любопытно узнать, как это произошло?У кого-нибудь есть идеи здесь!

Скорее всего, это двойной пост в браузере, который вы неправильно отследили.

Если вы не хотите, чтобы два человека использовали один адрес электронной почты в вашей социальной сети, создайте UNIQUE ограничение на email поле.

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

Другие советы

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

Вы должны были установить уникальное ограничение на email или username столбец таблицы пользователей.

Не полагайтесь на проверки на стороне клиента!Они предназначены только для посетителей в качестве информации.Всегда убедитесь, что проверки выполняются на стороне сервера.

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

Важные подсказки уже предоставлены:обеспечить уникальные адреса электронной почты и уникальные имена пользователей.Однако, когда кто-то только что подписался на ваш сайт, убедитесь, что он не сможет создавать новые учетные записи с этого IP-адреса в течение как минимум получаса.Тогда вас немного раздражают эти автоматизированные скрипты.

Конечно, наиболее вероятной причиной является то, что пользователь отправил форму дважды.

Лучший способ избежать этого — использовать перенаправление после позициит метод.

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

Отправка двойной формы (особенно при запуске с помощью javascript) может быть достаточно близка по времени к серверу.Проверьте файлы журнала доступа на наличие двойных сообщений.

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

Хорошей практикой является правильная настройка ограничений БД, и, исходя из опыта, обычно лучше всего отключать кнопку отправки при нажатии на стороне клиента (javascript) сразу после ее нажатия, чтобы запретить тем пользователям, которые все еще пытаются дважды щелкнуть все в Интернете.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top