Маска карты
Прогресс комнаты
0 / 4
Задание 1Введение
Цель: Маскировать номера карт в интерфейсах и логах.
Напишите mask_card(num): замените все цифры, кроме последних четырёх, на *. Пробелы и дефисы сохраните.
Задание 2Теория и инструменты
Стандарт PCI DSS разрешает показывать не больше первых 6 и последних 4 цифр номера карты.
Маскирование применяют при выводе и логировании, а полный номер хранят только в токенизированном виде.
Инструменты
- Python 3 или Node.js
- Встроенные тесты в редакторе
Больше теории — в разделе «Обучение: Защита (код)».
Задание 3Практика: напишите код
Примеры
Пример 1
mask_card("4111 1111 1111 1234")
→ "**** **** **** 1234"Пример 2
mask_card("5500-0000-0000-0004")
→ "****-****-****-0004"Ещё 5 скрытых тестов.
Пошаговый план — открывайте по одному шагу
- 1Посчитайте количество цифр.
- 2Заменяйте цифры звёздочкой, пока не дойдёте до последних четырёх.
- 3Разделители оставляйте как есть.
Подсказки — каждая до решения стоит −10 очков
Задание 4Как защититься
Маскируйте данные на уровне логгера, чтобы номер не попал в журналы даже по ошибке.
Разборы участников
Разборы открываются после того, как вы решите комнату, — чтобы не спойлерить ответ.