🛞 Новинка в Python
PEP 750 вводят t-строки — это как f"..." но:
- интерполяция ограничена и контролируема;
- поддерживается строгое соответствие шаблону;
- можно передавать переменные явно, предотвращая SQL-инъекции и XSS.
Для чего? Для того, чтобы писать shell-команды, SQL, HTML и т.д. без риска инъекций и без ручного экранирования
Пример:
from string.templatelib import Template
name = "World"
template: Template = t"Hello, {name}!"
safe_output = html(template)
Здесь
html() — это функция, которая принимает объект Template и возвращает безопасную строку, экранируя потенциально опасные вставкиPEP 787 предлагает добавить это прямо в
subprocess и shlex (но пока в статусе "отложен")👉Новости 👉База вопросов
