⚡️ Безопасно выполняем команды
Модуль shlex хранит в себе функционал для синтаксического анализа текста оболочки, которая напоминает unix.
split(s) — принимает в себя строку и «делит» её на аргументы. Также принимает необязательный параметр comments, который отвечает, обрабатывать ли комментарии.
join(arr) — выполняет обратное действие для split — соединяет все строки.
quote(s) — возвращает безопасную версию строки, позволяя избежать инъекций.
Это далеко не полный функционал библиотеки — с полным руководством вы, как обычно, можете ознакомиться на сайте документации.
#миниурок #shlex
Модуль shlex хранит в себе функционал для синтаксического анализа текста оболочки, которая напоминает unix.
split(s) — принимает в себя строку и «делит» её на аргументы. Также принимает необязательный параметр comments, который отвечает, обрабатывать ли комментарии.
join(arr) — выполняет обратное действие для split — соединяет все строки.
quote(s) — возвращает безопасную версию строки, позволяя избежать инъекций.
Это далеко не полный функционал библиотеки — с полным руководством вы, как обычно, можете ознакомиться на сайте документации.
#миниурок #shlex
⚡️ Безопасность превыше всего
Пользователи — главный страх программиста. И чтобы они ничего не сломали при вводе команд в терминал, воспользуйтесь shlex.
На самом деле, это лексический анализатор sh, поэтому предназначение его чуть шире, чем просто забота о безопасности (подробнее).
#миниурок #shlex
Пользователи — главный страх программиста. И чтобы они ничего не сломали при вводе команд в терминал, воспользуйтесь shlex.
split(s)
— разделяет строку на основе командного синтаксиса.join(commands)
— объединяет команды в одну строку.quote(s)
— возвращает экранированную строку s.На самом деле, это лексический анализатор sh, поэтому предназначение его чуть шире, чем просто забота о безопасности (подробнее).
#миниурок #shlex