Паролі, обмеження частоти запитів та акаунти без електронної пошти
У Blocks Beyond The Stars грають і діти. Це визначає не лише ігровий дизайн, а й технічний захист, що стоїть за ним. Три приклади.
Акаунти без електронної пошти — свідомо. Для акаунта гравця в нас не потрібна адреса електронної пошти. Це не відсутня функція, а рішення: ми хочемо якомога менше особистих даних, особливо від юних гравців. Те, чого ми не зберігаємо, не може загубитися. (Чесний зворотний бік: через це немає відновлення пароля електронною поштою — ми говоримо про це відкрито.)
Паролі світів — як слід. Якщо ви захищаєте свій світ, ваш пароль ніколи не зберігається відкритим текстом, лише як PBKDF2-хеш — навіть ми не можемо його прочитати. Пароль перевіряється до пробудження світу, тож сторонні не можуть запускати чужі світи простими спробами приєднатися. А після десяти невдалих спроб за 15 хвилин вмикається затримка проти перебору.
Автоматизовані охоронці. Наш код проходить через CodeQL, статичний аналіз безпеки від GitHub. І він таки вже нас на дечому впіймав: мовний кукі спершу встановлювався без прапорців Secure і HttpOnly — звучить невинно, але зайво вразливо. Виправили, і відтоді ми розглядаємо кожне нове сповіщення.
Наскрізна думка: безпека для нас — не відділ, а низка малих послідовних рішень. Для гри, яку дають власній дитині, це єдиний спосіб, що здається правильним.
Коментарі