Встречается на собеседованиях • сегодня

Какие подходы используются для защиты от инъекций

В Python для защиты от инъекций (SQL, XSS, shell-инъекций) применяют: 1. **Параметризованные запросы** (SQL): ```python cursor.execute("SELECT * FROM users WHERE id = %s", (user_id,)) ``` Используйте ORM (Django ORM, SQLAlchemy) — они автоматически экранируют данные. 2. **Экранирование HTML** (XSS): ```python from markupsafe import escape escaped = escape("") ``` В шаблонизаторах (Jinja2, Django Templates) экранирование включено по умолчанию. 3. **Shell-инъекции**: ```python import subprocess subprocess.run(["ls", "-l", user_input]) # Безопасно ``` Избегайте `shell=True` и передавайте аргументы списком. 4. **Валидация и санация данных**: Используйте библиотеки (`bleach` для HTML, `pydantic` для валидации). 5. **CSP (Content Security Policy)** — защита от XSS на уровне браузера. **Ключевое правило**: Никогда не доверяйте пользовательскому вводу!
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы