Как правильно оповестить пользователю о занятых его данных?

Ссылка скопирована
1 ответ

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

Хорошо! Но ведь у нас еще есть Форма регистрации и мы можем туда вставить почту и узнаем, есть ли она в базе или нет. Тогда смысл писать пользователю такое сообщение «почта или пароль неверные» если мы можем по факту через регистрацию узнать? Или мы рассчитываем на то, что злоумышленник тупой? :Д

Дополнительно:

Ответы:

Достаточно сообщить "Почта и/или пароль не верные". И пусть пользователь сам решает, где он ошибся, и исправляет...

А если пользователи входят по имени пользователя, а не по ящику, то и почтовый ящик ни кто не вычислит.

  • Если вы написали это про регистрацию. Поздравляю, вы завели пользователя в заблуждение и он уйдет от вас :)

    А если про авторизацию, то дочитайте до конца, что я вообще написал

  • YAHEFID, а кто, где, когда, и почему во время регистрации пишет "почта или пароль не верны"?

    А от вычисления почтовых адресов пользователей можно защититься капчей. Или неиспользованием почтовых адресов для входа.

  • AUser0,

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

    Читайте до конца, а после пишите. Капча ваша никак не поможет.

  • YAHEFID, рассуждайте до конца. Что, на вашей умозрительной базе пользователей перебор почтовых адресов при 1000 попытках даёт 1000 совпадений? И при этом у вас не используется капча? Ну тогда ССЗБ!
  • AUser0, в ручную найти верную почту и дальше подбором. Капча ваша тут вообще не поможет. Вас вообще не смущает такие новости как «В телеграмме взломали человека» и тд? В общем, закройте тему, вы вообще не понимаете о чем идет речь

    Точка

  • YAHEFID, ааа, вот оно что... Соболезную вашей утрате!

    Многоточие.

Регистрация может быть для:
1) Пользователей-людей

В этом случае используется регистрация через форму. Там есть капчи, токены и т.д.
В общем, для регистрации надо будет вручную это все вводить (с клавиатуры).

2) Других машин

Используются специальные токены. Эти токены могут использоваться только этим клиентом, должен быть секретным. Пример - токен бота в ТГ.

В итоге:
1) Для регистрации пользователя, нужно вручную это все вводить. Тут есть очень много ограничителей для автоподборщиков
2) Токены бота знает только сам разработчик

  • Ну мало где стоит капча и бывает парой, что капчу обходят. Только вопрос, а токены тут причем? Они никак не помогут тут вообще :)
  • 1. Я говорю про XSRF токены
    2. Не все сайты отправляют "Почта ИЛИ пароль неверны", кто-то сразу говорит что именно неверно
    3. Площадь атаки можно только сократить, но никак не устранить полностью - всегда будет лазейка для атаки
  • Сергей Соловьев, вы читали, что я написал? Повторяю еще раз, если вы сообщите пользователю просто «неверно» он через форму регистрации сможет узнать, верная ли почта или нет, а если в регистрации это написать, то вы пользователя просто в заблуждение заведет и он уйдет от вас
  • Да я читал.
    Поэтому и говорю:
    - регистрация происходит вручную - злоумышленник устанет это все делать вручную. Здесь не говорят, что почта и пароль неверные - это не имеет смысла
    - сообщение о том, что "пароль или почта неверные" указывается именно во время авторизации
  • Сергей Соловьев, авторизация тоже происходит в ручную и смысл тогда писать «почта или пароль неверный» если по факту я все равно могу даже в ручную узнать верная ли почта или нет. В этом логике вообще нет. А во-вторых - я не писал о том, что нужно это писать именно в регистрации. Вы вообще не понимаете, что пишите :)

    Легче тогда пользователю уже сообщить, что наверное.

  • В чем тогда вопрос я не понял

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

  • Не сообщайте ему, что адрес уже есть или неверный.

    это вы про авторизацию?

  • YAHEFID, Вы читать умеете? Не используйте электронную почту ни при регистрации, ни при авторизации.
  • Rsa97, то есть, вы считаете, что почту можно узнать, а логин нет? Смешно
  • YAHEFID, И что вам даст знание логина? От подбора паролей защищаются другими способами, а не скрытием логинов.
  • Rsa97, серьезно? Ух ты! Наверное никого не взламывают, просто случайно выставляют свои данные на показ (сарказм)

    Вы сами только что написали, что авторизуйте по логину. Какая разница по чему я буду авторизовать его? Это не отменяет тот факт, что я могу в ручную узнать какой логин/почта есть в базе и дальше подбором. Вы тоже далек от вопроса :)

  • YAHEFID, ты само описал ситуацию что попыткой регистрации с почтовым ящиком можно выяснить его занятость, т.е. наличие пользователя с таким 'логином', если же пользователь будет авторизоваться логином, то знание почты ничем не поможет щлоумышленнику

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

Любой способ приемлем для оповещения о неверном логине/почты при регистрации или авторизации. Главное, не скатиться до кейса "Вы ввели неверный пароль, который уже занят пользователем <логин/почта>".

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

Это неправильные разработчики, и они делают неправильный мед код...

Во первых не понятно чего вы боитесь - взлома почты или взлома аккаунта вашего сайта?
Если первое - это как минимум глупо, все сервисы почты достаточно хорошо защищены от атак перебором, 99,9% взломов - фишинг и социнженерия. А емэйл достаточно публичная информация, чтобы не парится конкретно с вашим сайтом.

Если второе - у вас так же должна быть защита от перебора, а подтверждение наличия зарегистрированности емэйла - нормальная практика, НИЧЕГО не дающая злоумышленнику. Ну, в случае ХОТЬ КАКОЙ-ТО РЕАЛЬНОЙ, а не мнимой защиты (как в случае "ой, нельзя говорить что такой имэйл уже есть, а то у нас от перебора защиты нету...").

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

  • Блокировать атакаующего - однозначно, но после 10-30-50 попыток, а перед этим - сложной капчи достаточно. Блокировать "атакованный" аккаунт - как-то через чур жестоко, владелец может быть ни сном, ни духом об атаке, а его бац - и заблокировали, и сиди, выпутывайся вместо обычного доступа... Выпутался - а тут бац, опять бан!

    Ну, чисто гипотетически, и ни как не связано с выдумками YAHEFID.

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Сергей Миронов Ответ

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

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

2. Модальное окно: другой способ - показать модальное окно с информацией о том, что данные уже используются. В модальном окне можно предложить пользователю подождать, попробовать позже или связаться с администратором для разрешения конфликта.

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

Пример использования визуального оповещения на PHP:

&lt;?php
$isDataBusy = true; // Переменная, показывающая занятость данных
 
if ($isDataBusy) {
    echo &quot;<div style='color: red'>Данные уже заняты другим пользователем</div>";
}
?&gt;

&lt;?php $isDataBusy = true; // Переменная, показывающая занятость данных if ($isDataBusy) { echo &quot;<div style='color: red'>Данные уже заняты другим пользователем</div>"; } ?&gt;

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

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно