Есть старая шутка, которая, к сожалению, слишком часто оказывается суровой реальностью.
Представьте ситуацию: вы регистрируетесь на сайте, придумываете сложный пароль, а система отвечает: "Ошибка: этот пароль уже использует пользователь admin". Или вы пытаетесь войти в почту, вводите логин и видите: "Пользователь с таким email не найден".
С точки зрения UX - это удобно. С точки зрения безопасности - это катастрофа.
В RK-CMS мы придерживаемся принципа: пользователь не должен знать, почему именно система дала сбой.
Хакер редко взламывает сайт в лоб, сидя за консолью с черным экраном. Чаще всего атака - это методичный сбор информации.
Механика проста:
- На странице восстановления пароля вы вводите [email protected]. Система отвечает: "Пароль отправлен на почту". Ок, пользователь существует.
- Вы вводите [email protected]. Система отвечает: "Пользователь с таким Email не зарегистрирован".
Всё. Вы только что бесплатно отдали хакеру список логинов. Осталось подобрать пароль (брутфорс) или найти утечку паролей этого пользователя в другой базе.
Подход RK-CMS: Наши формы всегда используют "безопасный ответ".
Мы в RK-CMS исходим из парадигмы Zero Trust (Нулевое доверие). Мы не доверяем никому, кто находится за пределами панели администратора. Да и в панели администратора мы сильно всем не доверяем.
Когда наш клиент просит: "Сделайте, чтобы при ошибке входа писали, что пароль неверный, а не логин", мы отвечаем отказом, объясняя риски.