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

Как реализовывал защиту запросов на проекте

Использовал несколько подходов для защиты API:

  1. Аутентификация: JWT-токены через библиотеку PyJWT. Пример проверки токена:
python
import jwt
from functools import wraps

def token_required(f):
    @wraps(f)
    def decorated(*args, **kwargs):
        token = request.headers.get('Authorization')
        if not token:
            return {'error': 'Token is missing'}, 401
        try:
            data = jwt.decode(token, SECRET_KEY, algorithms=['HS256'])
        except:
            return {'error': 'Invalid token'}, 401
        return f(*args, **kwargs)
    return decorated
  1. Валидация входных данных: Pydantic для проверки запросов
python
from pydantic import BaseModel, EmailStr

class UserCreate(BaseModel):
    email: EmailStr
    password: str = Field(min_length=8)
  1. Rate Limiting: Ограничение запросов через Flask-Limiter
python
from flask_limiter import Limiter
limiter = Limiter(app, key_func=get_remote_address)
@app.route("/api")
@limiter.limit("100/day")
def api():
    return "OK"
  1. SQL Injection: Всегда использовал ORM (SQLAlchemy) или параметризованные запросы

  2. CORS: Настройка через Flask-CORS только для доверенных доменов

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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