Conn2Flow
Navegação das docs

SDD

req-109: Correções de Cookies, Isenção de Crawlers, Audit CSRF em global.js e Fixes no Editor Visual

Esta requisição (BATCH-109) é focada no saneamento de bugs críticos de segurança, unblocking de crawlers de redes sociais (WhatsApp/Meta/Twitter), tratamento de cookies…

Descrição do Problema / Contexto

Esta requisição (BATCH-109) é focada no saneamento de bugs críticos de segurança, unblocking de crawlers de redes sociais (WhatsApp/Meta/Twitter), tratamento de cookies, permissões Docker e correções no salvamento/AJAX do Editor Visual.


Escopo Detalhado da Requisição

Módulo 1: Isenção de Crawlers e Tratamento Transparente de Páginas Públicas

  1. Detecção de Web Crawlers / Social Scrapers em gestor.php:

    • Implementar verificação de User-Agent no bootstrap de resposta para identificar bots e crawlers conhecidos (ex.: WhatsApp, facebookexternalhit, Twitterbot, LinkedInBot, TelegramBot, Discordbot, Googlebot, bingbot, Slackbot, Pinterest, etc.).

    • Isentar crawlers de qualquer redirecionamento Location: para _gestor-cookie-verify/ ou cookies-is-mandatory/, servindo o HTML público original com seus metadados OpenGraph intactos.

  2. Verificação Silenciosa de Cookie em Requisições GET Públicas:

    • Em páginas públicas (fora do painel de administração e áreas autenticadas), a emissão do cookie de verificação deve ocorrer via cabeçalho HTTP Set-Cookie na própria resposta da página, sem interromper o carregamento com redirecionamento 302 Location: _gestor-cookie-verify/.

    • Restringir o redirecionamento _gestor-cookie-verify/ exclusivamente a fluxos de áreas restritas/autenticadas que efetivamente necessitem de sessão ativa por cookie.


Módulo 2: Sanitização da Página cookies-is-mandatory/ e Analytics

  1. Bloqueio de Scripts de Rastreamento em Páginas do Sistema:

    • Suprimir a injeção/execução de scripts de analytics e pixels (GTM, Meta Pixel) na página cookies-is-mandatory/ e páginas de erro/sistema.

    • Tratar a inicialização do Meta Pixel no frontend (gestor/assets/global/global.js) para evitar duplicação (Duplicate Pixel ID) e requisições CAPI malformadas (400 Bad Request) quando o ambiente/cookie não estiver completamente provisionado.


Módulo 3: Permissões de Log no Docker e Warning no HTML Editor

  1. Ajuste de Permissões de Log no Docker Entrypoint:

    • Atualizar dev-environment/docker/entrypoint.sh (e gerenciar-sites.sh) para aplicar permissões de escrita (chown -R www-data:www-data e chmod -R 777) nos diretórios de logs em [REDACTED].

    • Na biblioteca gestor/bibliotecas/log.php, reforçar a criação de diretórios com 0777 e aplicar @chmod($path, 0777) / @chmod($myFile, 0666) defensivo para evitar avisos de Permission denied.

  2. Correção do Scope no html-editor.php:

    • Na função html_editor_ia_prompt() em gestor/bibliotecas/html-editor.php, corrigir o caso default do switch substituindo a referência incorreta a $modelo_texto por $modo ou eliminando o resíduo morto, eliminando o PHP Warning: Undefined variable $modelo_texto.


Módulo 4: Auditoria Global de CSRF em global.js e Correções no Editor Visual (admin-paginas)

  1. Auditoria e Interceptação Global de CSRF em gestor/assets/global/global.js:

    • Auditar o arquivo gestor/assets/global/global.js (carregado globalmente em todo o gestor pelo gestor.php).

    • Garantir que a interceptação global de $.ajaxSetup e window.fetch injete automaticamente o cabeçalho X-CSRF-Token em todas as requisições de modificação de estado (POST, PUT, DELETE), inclusive em contextos de iframe / srcdoc do Editor Visual.

    • Implementar helper para anexar automaticamente o input oculto _gestor-csrf-token em formulários submetidos dinamicamente caso o campo esteja ausente.

  2. Normalização de URL e CSRF na Renderização de Widgets (renderWidgets):

    • No srcdoc / iframe do Editor Visual, corrigir a formação de URL da chamada AJAX do renderWidgets para eliminar barras duplicadas (evitando rotas como admin-paginas/editar// que resultam em 403 Forbidden).

    • Injetar o cabeçalho X-CSRF-Token / parâmetro CSRF em todas as chamadas do renderWidgets no iframe do editor.

  3. Injeção de CSRF no Salvamento do Editor Visual (previsualizarConfirmar):

    • Garantir que o formulário de salvamento e a requisição de confirmação (previsualizarConfirmar) enviem obrigatoriamente o token CSRF (_gestor-csrf-token / X-CSRF-Token).

    • Tratar eventuais falhas de validação CSRF com alertas amigáveis na interface do editor visual, evitando que a tela exiba a resposta crua em JSON {"status":"error","message":"Token CSRF inválido ou ausente."}.


Módulo 5: Injeção de MetaTags OpenGraph e Tratamento de Páginas Protegidas

  1. Injeção de OpenGraph em gestor_pagina_extra_head_e_javascript() (gestor.php):

    • Na função gestor_pagina_extra_head_e_javascript(), injetar as tags <meta property="og:title">, <meta property="og:description">, <meta property="og:image">, <meta property="og:url">, <meta property="og:site_name"> e <meta property="og:type"> no cabeçalho <head>.

    • Se a página não possuir metadados específicos definidos, aplicar fallback gracioso para as variáveis globais de ambiente no config.php (ex.: SITE_NAME e banner/logo padrão).

  2. OpenGraph para Bots em Páginas Protegidas em gestor_roteador():

    • Em gestor_roteador(), para requisições de crawlers/bots (ex.: WhatsApp) em páginas protegidas por permissão (gestor_acesso()), renderizar o cabeçalho <head> com as tags OpenGraph da página sem redirecionar para /login/, omitindo o conteúdo privado do corpo.

    • Para visitantes humanos sem login ativo em páginas protegidas, manter o redirecionamento para /login/ com o parâmetro de retorno (?url=...).


Validação e Critérios de Aceite

  • php -l sem erros em todas as bibliotecas e controladores modificados.

  • node --check em scripts JS alterados (especialmente global.js).

  • Suíte de testes automatizados (composer test e npx vitest run) 100% verde.

O Futuro é Híbrido: Humano + IA.

O Conn2Flow é a ferramenta. Se você precisa do Arquiteto para desenhar a estratégia da sua empresa usando essa tecnologia...

Contrate Consultoria Especializada