Пароли, ограничения запросов и аккаунты без электронной почты
В Blocks Beyond The Stars играют и дети. Это определяет не только дизайн игры, но и то, как устроена её защита. Три примера.
Аккаунты без электронной почты — намеренно. Для аккаунта игрока у нас не нужен адрес электронной почты. Это не недостающая функция, а решение: мы хотим как можно меньше личных данных, особенно от юных игроков. Что мы не храним, то не может потеряться. (Честная обратная сторона: из-за этого нет «забыл пароль» по почте — об этом мы говорим открыто.)
Пароли миров — как надо. Если вы защищаете свой мир паролем, он никогда не хранится открытым текстом, а только в виде хеша PBKDF2 — даже мы не можем его прочитать. Пароль проверяется до того, как мир «просыпается», чтобы посторонние не могли поднимать чужие миры одними попытками входа. А после десяти неудачных попыток за 15 минут включается пауза против перебора.
Автоматические стражи. Наш код проходит через CodeQL — статический анализ безопасности от GitHub. И он нас действительно поймал: языковой cookie сначала ставился без флагов Secure и HttpOnly — звучит безобидно, но это лишняя уязвимость. Исправлено, и с тех пор мы смотрим на каждое новое предупреждение.
Красная нить всего этого: безопасность для нас — не отдел, а череда маленьких последовательных решений. Для игры, которую даёшь собственному ребёнку, только так и правильно.
Комментарии