Скрыть почту
Задание 1Введение
Цель: Удалять персональные данные из текста.
Напишите redact_emails(text): каждый адрес вида [email protected] замените на первую букву local-части, * и домен: [email protected] → i*@mail.ru. Local — символы A-Za-z0-9._%+-, домен — A-Za-z0-9.- и зона из 2+ букв.
Задание 2Теория и инструменты
Логи и выгрузки часто содержат e-mail. По закону о персональных данных их нужно минимизировать.
Частичное маскирование оставляет возможность отладки, не раскрывая адрес целиком.
Инструменты
- Python 3 или Node.js
- Встроенные тесты в редакторе
Больше теории — в разделе «Обучение: Защита (код)».
Задание 3Практика: напишите код
Примеры
redact_emails("write to [email protected]")
→ "write to i***@mail.ru"redact_emails("[email protected] and [email protected]")
→ "a***@b.co and b***@corp.example.com"Ещё 3 скрытых тестов.
Пошаговый план — открывайте по одному шагу
- 1Напишите регулярное выражение с группой для первой буквы и домена.
- 2Замените совпадения на
\1***@\2. - 3Проверьте на строке без адресов и на адресе без зоны.
Подсказки — каждая до решения стоит −10 очков
Задание 4Как защититься
Маскируйте ПДн до записи в лог и ограничьте доступ к сырым данным.
Разборы участников
Разборы открываются после того, как вы решите комнату, — чтобы не спойлерить ответ.