Pular para o conteúdo principal

Como funciona

⚙️ 2. Como Funciona

O GKTinc opera adicionando um desafio criptográfico leve, resolvido automaticamente no navegador do usuário e validado via API no backend. Isso ajuda a identificar e impedir requisições automatizadas sem impactar a experiência de usuários legítimos. A versão Básico fornece o fluxo padrão do desafio, enquanto a Avançada oferece o conjunto completo de recursos descritos nas seções de integração avançada.

🔐 Fluxo de trabalho

Navegador (Frontend)

  • O HTML da página (por exemplo, login) carrega o script gktc.js da GuardianKey.
  • Ao submeter o <form>, o JavaScript realiza um cálculo criptográfico leve baseado em:
    • ID da sessão
    • Identificador do usuário (nome de usuário, e-mail ou equivalente)
    • Variáveis dinâmicas (salt, timestamp, nonce)
  • O resultado é automaticamente injetado como campos ocultos no formulário.
    • Básico: usa os parâmetros padrão do desafio.
    • Avançada: habilita opções de configuração adicionais disponíveis na integração avançada.

Servidor (Backend)

  • O backend (PHP, Python, Java, etc.) recebe o POST contendo os dados do desafio.
  • A função checkgktinc() (ou equivalente na linguagem escolhida) é chamada com os dados recebidos.
  • O backend envia esses dados para a API do GKTinc.
  • A API responde com:
    • VALID: o desafio foi corretamente resolvido no navegador.
    • INVALID: o desafio é inválido ou está ausente — possivelmente automação.

Decisão

  • O sistema protegido deve prosseguir (por exemplo, autenticar o usuário) somente se o desafio for VALID.

💡 Notas Técnicas

  • O GKTinc não depende de cookies, fingerprinting ou bancos de dados de reputação. Baseia-se apenas na execução local do desafio criptográfico.
  • Pode ser integrado a qualquer linguagem de backend, desde que seja possível:
    • Receber dados via POST com os campos do desafio
    • Fazer uma requisição HTTP para a API do GKTinc
  • A complexidade do desafio é ajustável, permitindo afinar a carga computacional conforme o risco do endpoint.
    • Básico fornece uma complexidade padrão consistente.
    • Avançada expõe opções adicionais descritas na integração avançada.