Встречается на собеседованиях • сегодня
Какие подходы используются для защиты от инъекций
В 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 на уровне браузера.
**Ключевое правило**: Никогда не доверяйте пользовательскому вводу!

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы