Skip to content

Security pt BR

Edgar Mesquita edited this page Aug 13, 2026 · 1 revision

Segurança & Server Actions

🌐 Esta página em: English · Português

O eQuantic.UI facilita a comunicação entre cliente e servidor através das Server Actions, garantindo que essa ponte seja segura por padrão.

⚡ Server Actions

Uma Server Action é um método C# definido num componente que pode ser invocado diretamente do browser. O compilador gera automaticamente a ponte de chamada (Fetch API) e o middleware do servidor resolve a execução.

Exemplo:

[ServerAction]
[Authorize(Roles = "Admin")]
public async Task<bool> DeleteUser(Guid userId) {
    // Lógica executada apenas no servidor
}

🛡️ Camadas de proteção

1. Autorização (RBAC)

O eQuantic.UI suporta os atributos [Authorize] e [AllowAnonymous].

  • O ServerActionsMiddleware verifica se o usuário atual tem as permissões necessárias antes de invocar o método.
  • Se a autorização falhar, o servidor devolve 403 Forbidden ou 401 Unauthorized, bloqueando a execução da lógica de negócio.

2. Validação de payload

Para prevenir ataques de injeção e consumo excessivo de recursos:

  • Limite de tamanho: o middleware impõe limites estritos ao tamanho do corpo da requisição.
  • Whitelist de tipos: a desserialização de argumentos é restrita a tipos conhecidos e seguros, prevenindo ataques de desserialização insegura.

3. Registro de ações

Apenas métodos explicitamente marcados com [ServerAction] podem ser invocados. Não é possível chamar qualquer método público arbitrário via API, o que mantém a superfície de ataque controlada.

📡 Protocolo de comunicação

A comunicação é feita via HTTP POST no endpoint reservado /_equantic/action.

  • Payload: contém o ID único da ação e a lista de argumentos serializados.
  • Resposta: devolve o objeto de resultado ou um erro estruturado.

Clone this wiki locally