Почему подход ответа проблемы является плохим решением для забытых паролей?

Используйте <Switch>

// app.js
import {BrowserRouter as Router, Route, Switch } from 'react-router-dom';
<Router>
  <Switch>
    <Route path="/account" component={Account} />
  </Switch>
</Router>

и

// account.js
import { Route, Switch } from 'react-router-dom';

class Account extends Component {
    render() {
        return (
            <div>
                <Link to="/account">Messages</Link>
                <Link to="/account/orders">Orders</Link>
                <Switch>
                    <Route exact path="/account" component={Messages} />
                    <Route path="/account/:id" component={AccountSwitch} />
                </Switch>
            </div>
        )
    }
}
5
задан Community 23 May 2017 в 10:33
поделиться

5 ответов

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

Добавленный из комментариев:

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

15
ответ дан 18 December 2019 в 08:31
поделиться

Как объяснено в этой статье, почтовый ящик Губернатора Palin был недавно взломан с помощью ответов на ранее заданные вопросы. От статьи:

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

3
ответ дан 18 December 2019 в 08:31
поделиться

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

0
ответ дан 18 December 2019 в 08:31
поделиться

Существует несколько распространенных способов управлять потерянными паролями:

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

  • Отправьте новый пароль по почте. Для хитрости этого управления доступ к почтовому ящику требуется, или положение Man-In-The-Middle (MITM) требуется: Вы или читаете временный пароль из ящика входящих сообщений пользователя или прерываете в середине. Этот подход готов к неправильному употреблению, потому что кто-либо может изменить пароль и вынудить пользователя покинуть систему, если он не может прочитать электронную почту с новым паролем.

  • Отправьте хеш сброса пароля по почте, для хитрости этого, Вам нужен доступ к ящику входящих сообщений или MITM, точно так же, как в случае, если, прежде чем это, но никакие пароли на самом деле не изменены до подтверждения, сделано. Таким образом пользователь не может быть заблокирован из системы, даже если он не прочитал электронную почту. Добавьте cooldown таймер к одному сбросу в 8 часов, чтобы препятствовать тому, чтобы Ваша система лавинно разослала ящик входящих сообщений пользователя.

  • Рассмотрите некоторых из коммуникации полосы, например, в печатном контракте, запишите PIN. Затем имейте вызов пользователя Ваша справочная служба с известного номера телефона (сверьтесь с Идентификатором вызывающего абонента), и дайте его имя пользователя и PIN.

1
ответ дан 18 December 2019 в 08:31
поделиться

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

0
ответ дан 18 December 2019 в 08:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: