Безопасность: инъекции и сериализация
Python
Senior
Яндекс
Какие типичные уязвимости вы учитываете в Python-backend-проектах (SQL-инъекции, XXE, unsafe десериализация и т.п.) и как их предотвращаете на уровне кода?
Ответы
Безопасность backend
Основные моменты:
- SQL-инъекции: всегда использовать параметризованные запросы или ORM, не конкатенировать строки SQL;
- XSS: экранирование HTML, использование шаблонизаторов по умолчанию;
- unsafe десериализация: не использовать `pickle`/`eval` на непроверенных данных;
- CSRF: токены и защитные механизмы фреймворка;
- защита секретов: хранение в переменных окружения/secret-хранилищах, а не в репозитории.
В Python это всё реализуется комбинацией грамотных библиотек и дисциплины в написании кода.