A página de bloqueio mostrada ao usuário é a face visível da decisão de segurança.
Quando um usuário é bloqueado, a mensagem genérica de "access denied" que ele vê não é apenas uma saída técnica; é parte da experiência de segurança da organização. O cliente corporativo, o cidadão, o parceiro de negócio ou o usuário final quer entender por que foi retido, o que precisa fazer e se isso é temporário ou permanente. Páginas de erro grosseiras e sem marca transformam a decisão de segurança em uma experiência não profissional.
Durante um ataque DDoS ou de bots, mostrar apenas um erro ao usuário muitas vezes não é suficiente. Deve-se explicar ao usuário real que aguarde um curto período, que sua requisição está sendo validada, que o tráfego automatizado está sendo separado e que a operação continuará. A contagem regressiva, o challenge e o fluxo de CAPTCHA cumprem, neste ponto, tanto função de segurança quanto de comunicação.
Em ambientes multilíngues e multi-tenant, a mesma página não serve a todos. Um banco pode querer mostrar uma explicação em seu idioma e com suas cores corporativas; um provedor de serviços pode querer usar logo e texto diferentes para cada tenant; um endpoint de API, por sua vez, deve retornar uma mensagem de erro JSON em vez de HTML. Uma única página de bloqueio fixa não consegue atender a essas necessidades.
O código de motivo também é importante para a central de ajuda e as equipes de segurança. Quando o usuário recebe um erro, a equipe de suporte precisa poder entender qual regra, qual decisão de bot ou qual ação WAAP entrou em ação. Mas essa informação deve ser dada de forma controlada; em alguns casos é mostrada ao usuário, em outros é mantida apenas no log e no fluxo de suporte.
A abordagem do TR7 retira as páginas de bloqueio da condição de saída de erro estática retornada após a decisão de segurança; transforma-as em uma experiência WAAP personalizável com marca, idioma, código de motivo, CAPTCHA, challenge DDoS e formatos de resposta de API.
Nossa abordagem
O TR7 gerencia as páginas de bloqueio com templates prontos, render EJS, retorno de resposta nativo e injeção de código de motivo.
Categorias de página prontas abrangem diferentes ações de segurança
Há estruturas de template separadas para challenge DDoS, validação JavaScript, CAPTCHA, erro de proteção de bots e AAM 503. Cada tipo de página pode ser projetado conforme uma experiência do usuário e uma decisão de segurança diferentes.
Os templates EJS gerenciam tema, cor e idioma
As páginas CAPTCHA são criadas com templates EJS. Tema, tamanho, fundo, cor de texto e dicionário de idioma podem ser aplicados durante a renderização.
A página é servida diretamente da camada de travessia
O TR7 pode retornar a resposta de bloqueio ou challenge sem ir ao backend. Essa abordagem reduz a latência e impede que carga desnecessária recaia sobre a camada de aplicação no momento do ataque.
Código de motivo e variáveis de requisição podem ser injetados na página
O reason code e variáveis de request personalizadas podem ser inseridos no template de forma controlada. Isso ajuda as equipes de suporte a distinguir o motivo do erro e, quando necessário, a dar ao usuário uma explicação significativa.
Capacidades
A Personalização de Página de Bloqueio do TR7 gerencia centralmente respostas HTML, CAPTCHA, challenge e JSON para diferentes decisões WAAP.
A página de challenge DDoS retém o usuário real sem deixá-lo em pânico
O TR7 pode usar páginas de challenge específicas para cenários DDoS. Essas páginas podem conter contagem regressiva, informação ao usuário e mensagens de validação. Explica-se ao usuário real que sua requisição está sendo processada e que continuará em breve. Assim, no momento do ataque garante-se não apenas o bloqueio, mas uma experiência do usuário gerenciável.
A página de validação JavaScript ajuda a separar o tráfego de automação
As páginas de JS solver DDoS apoiam o fluxo de validação por meio do comportamento do navegador. Com lógica de controle no lado do cliente, busca-se separar o tráfego automatizado. Arquivos prontos em múltiplos idiomas podem ser usados. A necessidade de novo idioma ou texto diferente pode ser atendida pela estrutura do template.
O template EJS de CAPTCHA gerencia tema, tamanho e idioma de forma flexível
Os templates de CAPTCHA criam a experiência de CAPTCHA. Há opções de tema `auto`, `dark` e `light`; podem ser usados os tamanhos `small`, `medium` e `large`. A cor de fundo e a de texto podem ser ajustadas por parâmetros. Essa estrutura torna a validação de segurança compatível com a identidade visual da organização.
Os tipos de CAPTCHA texto e invisível adaptam-se a diferentes fluxos
Na configuração de CAPTCHA podem ser usados os tipos texto ou invisível. O CAPTCHA de texto é adequado a situações que exigem que o usuário responda explicitamente. O modo invisível, por sua vez, pode ser preferido em cenários que demandam menor atrito. Assim, o mesmo controle de segurança é ajustado conforme diferentes objetivos de experiência do usuário.
O dicionário de idioma suporta adicionar múltiplos idiomas no nível do template
O TR7 vem com dicionários de texto de CAPTCHA prontos em múltiplos idiomas. Cerca de 16 campos de texto como título, descrição, campo de entrada, enviar, atualizar, validando, sucesso, falha, erro e expirado podem ser gerenciados por idioma. Novos idiomas podem ser estendidos adicionando-os ao objeto de tradução dentro do template. O usuário pode adicionar o idioma que quiser; a estrutura multilíngue é assim fornecida.
A configuração de CAPTCHA por vService proporciona separação de tenant e aplicação
Cada vService pode usar uma aparência e um comportamento diferentes com seu próprio valor de configuração de CAPTCHA. Isso é importante em aplicações que operam sob multi-tenant, MSSP ou diferentes marcas. No mesmo TR7, cada aplicação pode operar com sua própria cor, idioma, texto e estilo de validação. O controle de segurança permanece central enquanto a experiência do usuário é separada.
A página de erro de proteção de bots trata o tráfego de automação maliciosa separadamente
Para decisões de proteção de bots pode-se usar uma página de erro específica. Quando um agente de usuário ruim, um comportamento de automação ou uma regra de proteção de bots é disparado, pode-se retornar ao usuário uma resposta separada. Essa página pode ser personalizada conforme a linguagem de marca e o processo de suporte. O código de motivo técnico pode ser mantido internamente se desejado, ou mostrado de forma controlada se desejado.
A página AAM 503 dá uma mensagem controlada quando o backend está inacessível
Quando o backend está inacessível ou o pool temporariamente não consegue atender, pode-se usar uma página AAM 503 específica. Essa página impede que o usuário veja um erro de navegador em branco ou uma interrupção de conexão sem sentido. Manutenção planejada, sobrecarga temporária ou problema de acesso ao serviço podem ser apresentados com uma mensagem mais compreensível. A organização preserva sua marca e o direcionamento de suporte mesmo no momento do erro.
Ações WAAP personalizadas podem retornar resposta HTML ou JSON
O TR7 pode retornar, em ações WAAP, uma resposta personalizada com status code, content type e conteúdo de arquivo específicos. Pode-se usar página HTML, texto simples ou um corpo de erro JSON para endpoints de API. Pode-se aplicar um modelo de retorno de conteúdo baseado em arquivo ou inline. Essa flexibilidade cria uma experiência de bloqueio diferente para usuários web e clientes de API.
A injeção de reason code facilita o suporte e a distinção de incidentes
No conteúdo da página podem ser inseridas variáveis de request ou códigos de motivo no nível da transaction. A central de ajuda pode entender mais rapidamente, com a captura de tela ou o código de erro vindos do usuário, qual decisão de segurança entrou em ação. A equipe de segurança pode definir como política quais informações serão mostradas ao usuário e quais permanecerão apenas no lado do log. Essa estrutura aumenta a velocidade de debug enquanto mantém sob controle o risco de vazamento de informação.
Profundidade operacional
Para o funcionamento confiável das páginas de bloqueio, planejam-se em conjunto a entrega de arquivos, a adição de idiomas, a escolha de status code, as variáveis dinâmicas e a gestão de assets estáticos.
Modelo de adição de idiomas
Para adicionar um novo idioma ao template de CAPTCHA, pode-se definir um novo dicionário de idioma no objeto de tradução correspondente. Os textos de título, erro, validação e espera são separados por idioma. Essa abordagem vincula o suporte multilíngue não a uma lista de produto fixa, mas a uma estrutura de template extensível.
Caminhos de arquivo de assets
Para as páginas de CAPTCHA e challenge, o base path, o caminho de serviço do JavaScript, o arquivo HTML e o arquivo JavaScript podem ser gerenciados por campos de configuração separados. Essa separação garante que os conteúdos estáticos sejam servidos pelo caminho correto. Em múltiplos tipos de página, a organização dos arquivos permanece mais legível.
Retorno de resposta nativo
Quando determinada condição ocorre, o TR7 pode produzir diretamente resposta HTML ou JSON com a lógica de retorno de resposta nativo. Essa resposta é produzida sem ir ao backend. Em challenge, CAPTCHA e ações WAAP personalizadas, a latência e a carga sobre a aplicação são assim reduzidas.
Flexibilidade de status code
Para diferentes cenários podem ser usados diferentes valores de HTTP status code. Enquanto o fluxo de CAPTCHA pode ser apresentado com 200, decisões de limite ou bloqueio podem ser retornadas com códigos como 403, 413, 451 ou 503. Escolher o código semântico correto para usuários de API e web aumenta a qualidade da integração.
Uso de logo e SVG
Logos, SVGs ou conteúdos visuais podem ser inseridos no HTML de forma inline ou em base64. Esse método pode reduzir a dependência de assets separados e facilita produzir uma página personalizada de arquivo único. A marca da organização pode ser adicionada à página por meio de um layout HTML personalizado.
Sincronização de arquivos
Os arquivos prontos de challenge DDoS e validação JS podem ser acompanhados por um mecanismo de vinculação dinâmica de arquivos. Quando o arquivo é atualizado, o conteúdo correspondente é refletido na camada de serviço. Essa estrutura ajuda a manter as páginas estáticas atualizadas sem transformar isso em uma operação manual de reinício de serviço.
Em quais cenários é usado
Página de bloqueio com marca e localizada para um banco
Um banco pode usar uma página de CAPTCHA ou bloqueio personalizada com tema branco/azul, logo corporativo, explicação no idioma local e link de suporte. Enquanto o código de motivo é ocultado do usuário, a equipe de suporte pode examinar a causa real pelo log.
Challenge DDoS em momento de ataque intenso ao e-commerce
Quando o tráfego de automação aumenta em período de campanha, pode-se mostrar ao usuário real uma página de challenge DDoS com contagem regressiva. O usuário continua o fluxo de compra após uma validação curta, enquanto o tráfego de bots é separado.
Mensagem de acesso por região em portal público
Uma instituição pública pode retornar, em determinadas decisões de acesso, uma página personalizada com explicação localizada. Explica-se ao usuário, em linguagem corporativa, por que o acesso foi restringido e a qual canal de suporte recorrer.
Resposta de bloqueio JSON para endpoint de API
Em serviços de API, retornar uma resposta 403 ou 429 em formato JSON em vez de uma página HTML é mais correto. O TR7, com uma ação WAAP personalizada, injeta o valor de reason no corpo JSON, permitindo que as aplicações cliente tratem o erro programaticamente.
Perguntas frequentes
Para quais decisões de segurança pode-se usar uma página de bloqueio personalizada?
Como é possível adicionar um novo idioma à página de CAPTCHA?
A página de bloqueio sobrecarrega o backend?
Para endpoints de API é possível retornar uma resposta de erro JSON em vez de HTML?
O código de motivo precisa sempre ser mostrado ao usuário?
Em ambiente multi-tenant cada aplicação pode usar uma página diferente?
Torne também a experiência pós-decisão de segurança adequada à sua marca
Páginas de bloqueio personalizáveis para DDoS, CAPTCHA, proteção de bots e ações WAAP. Vamos ver juntos como funciona na sua própria configuração.