Внимание! Дистрибутив RK-CMS распространяется исключительно через сайт rk-cms.ru. Загрузка копий со сторонних ресурсов может привести к потере данных или установке вредоносного ПО.

Меню
    300 140

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

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

    Как это обычно работает технически?

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

    Куки (Cookies): Сайт кладет ваш пароль прямо в файл куки. Даже если его зашифровать, злоумышленник, укравший сессию, сможет его перехватить.

    Local Storage: Сайт хранит пароль в памяти вкладки. Это чуть удобнее для разработчика, но для вируса или хакера это такая же "открытая книга", как и куки.

    Почему это бессмысленно?

    Представьте, что ваша сессия - это ключ от квартиры, а пароль -это паспорт, который вы показали при входе в подъезд.

    Если украли сессию (ключ): Злоумышленник уже вошел в "квартиру" (аккаунт). Если мы просим его подтвердить действие паролем, мы как бы спрашиваем: "Покажи паспорт". Но паспорт (пароль) лежит в том же самом месте, где лежал ключ (в куках или памяти браузера). Вор взял связку ключей? Он заодно прихватил и копию паспорта, которая лежала рядом.

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

    Правильный подход к безопасности

    Если действие действительно важное (списание денег, смена почты), используется не запоминание пароля, а повторный ввод (Re-authentication).

    Как это делают нормально (Google, банки, биржи):

    Пользователь нажимает "Перевести деньги".

    Система прерывает сессию и требует ввести пароль заново вручную (или прислать код из СМС).

    Пароль проверяется на сервере и сразу же уничтожается. Он не сохраняется в куках и памяти.

    Если сессию угнали, вор упрется в стену: он не знает пароль наизусть, а подсмотреть его негде - система его не хранит.

    Просьба "пусть пароль запоминается" - это попытка совместить удобство (не вводить постоянно) с безопасностью (подтверждать действия). Так не бывает. Если вы сохранили пароль в браузере, вы создали вторую копию ключа и положили её под коврик у двери.

    Для улучшения работы сайта и его взаимодействия с пользователями мы используем файлы cookie (узнать подробнее).

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