Contexto
Headers de segurança em todas as respostas: HSTS, X-Content-Type-Options: nosniff, X-Frame-Options: DENY e CORS restrito ao domínio do frontend. Hardening do SaaS.
Tecnologias e Ferramentas
fastapi (0.141.x) — middleware
fastapi.middleware.cors.CORSMiddleware
Como Implementar
- Adicionar middleware de headers:
@app.middleware("http")
async def security_headers(request: Request, call_next):
response = await call_next(request)
response.headers["Strict-Transport-Security"] = "max-age=31536000; includeSubDomains"
response.headers["X-Content-Type-Options"] = "nosniff"
response.headers["X-Frame-Options"] = "DENY"
return response
- Configurar CORS restrito:
app.add_middleware(CORSMiddleware, allow_origins=["https://<frontend>"], allow_methods=["*"], allow_headers=["*"])
Critérios de Aceite
Verificação
curl -I mostra os 3 headers; requisição de origem não autorizada é bloqueada
Referências
Contexto
Headers de segurança em todas as respostas:
HSTS,X-Content-Type-Options: nosniff,X-Frame-Options: DENYe CORS restrito ao domínio do frontend. Hardening do SaaS.Tecnologias e Ferramentas
fastapi(0.141.x) — middlewarefastapi.middleware.cors.CORSMiddlewareComo Implementar
Critérios de Aceite
curl -I)Verificação
curl -Imostra os 3 headers; requisição de origem não autorizada é bloqueadaReferências