Встречается на собеседованиях • сегодня
От каких атак нужно защищать параметры запроса в Django, FastAPI и других фреймворках
Веб-приложения нужно защищать от нескольких типов атак при работе с параметрами запроса:
- SQL-инъекции - использование ORM или параметризованных запросов:
python
# Django (безопасно)
User.objects.filter(username=request.GET['username'])
# Небезопасно (сырой SQL)
cursor.execute(f"SELECT * FROM users WHERE username = '{request.GET['username']}'")- XSS (межсайтовый скриптинг) - экранирование вывода:
python
# Django шаблоны автоматически экранируют
{{ user_input }}
# FastAPI/Jinja2
from markupsafe import escape
escape(user_input)- CSRF - Django имеет встроенную защиту через middleware, в FastAPI нужно использовать токены:
python
# Django (включено по умолчанию)
# FastAPI пример:
from fastapi.security import CSRFProtect
csrf_protect = CSRFProtect()- Параметрная тампонация - валидация всех входных данных:
python
# Pydantic в FastAPI
class User(BaseModel):
id: int
name: str = Field(max_length=100)- Mass Assignment - явное указание разрешенных полей:
python
# Django
form = UserForm(request.POST, instance=user)
form.save()
# FastAPI
user.update(**user.dict(include={'name', 'email'}))Всегда используйте встроенные механизмы фреймворков для защиты и валидации данных.

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