Sobes.tech
Junior — Middle

De que formas é que se pode garantir a segurança das APIs?

sobes.tech IA

Resposta da IA

Para garantir a segurança das APIs em Go (e em geral), aplicam-se várias abordagens principais:

  1. Autenticação e autorização — verificar quem faz a solicitação e se tem permissão para realizar a ação. Por exemplo, usar JWT (JSON Web Tokens), OAuth2.

  2. Criptografia do tráfego — usar HTTPS para proteger os dados durante a transmissão.

  3. Validação e sanitização dos dados de entrada — para prevenir injeções SQL, XSS e outros ataques.

  4. Limitação de taxa de requisições (rate limiting) — para se proteger contra ataques DDoS.

  5. Registro e monitoramento — para rastrear atividades suspeitas.

  6. Uso de bibliotecas seguras e atualização de dependências — para evitar vulnerabilidades conhecidas.

Exemplo de uma verificação de autorização simples em Go:

func authMiddleware(next http.Handler) http.Handler {
    return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
        token := r.Header.Get("Authorization")
        if token != "Bearer valid-token" {
            http.Error(w, "Unauthorized", http.StatusUnauthorized)
            return
        }
        next.ServeHTTP(w, r)
    })
}

Este exemplo demonstra uma verificação básica do token no cabeçalho da solicitação.