Módulo PrestaShop

PrestaWard Snapshot

Controlo de integridade para lojas PrestaShop. Cria uma linha de base de ficheiros, compara alterações e avisa por e-mail quando algo sensível é alterado.

Distribuição exclusiva no PrestaShop Marketplace (Addons).

PrestaWard Snapshot
Referência + comparação + alertas

  • Tarefas com progresso guardado
  • Ficheiros sensíveis sob controlo
  • PrestaShop 1.7, 8 e 9
  • Laboratório multiversão

O que faz

Uma loja está em constante mudança. O PrestaWard Snapshot cria uma referência técnica e apresenta os ficheiros adicionados, alterados ou eliminados, para que possa distinguir uma intervenção planeada de uma alteração inesperada.

Além disso, analisa o código suspeito dos ficheiros novos ou modificados, atribui um nível de risco a cada alteração e agrupa as atualizações de módulos e temas, para que o que merece atenção não se perca entre as alterações de rotina.

Verifique também o JavaScript do tema ativo e dos módulos de pagamento em busca de sinais de skimmers de cartões, monitorize o volume das pastas multimédia e verifique 14 pontos da configuração de segurança. Um painel com separadores, com um Resumo sucinto, indica-lhe numa única linha o que requer atenção. Tem acesso de leitura apenas aos seus ficheiros: não os altera, não os restaura nem os apaga, e apenas grava no seu próprio espaço de trabalho e na sua base de dados.

Como funciona

  • Guarda uma impressão digital SHA-256 de cada ficheiro, juntamente com o seu caminho relativo, o seu tamanho e a data de modificação. Não guarda cópias dos ficheiros nem do seu conteúdo.
  • Compara a loja com a linha de base mais recente e classifica cada alteração como de rotina, suspeita ou crítica. Os ficheiros executáveis e os ficheiros de configuração sensíveis são sempre monitorizados.
  • Analisa módulos, gateways de pagamento, temas, classes do núcleo, administração, configuração, override, src, vendor, upload, download, img, js e os ficheiros da raiz. As pastas voláteis do PrestaShop, tais como img/tmp e as caches de recursos do tema, não são analisadas.
  • As exclusões são definidas pelo nome exato ou pelo caminho relativo. Antes de as ativar, é obrigatória uma pré-visualização, e as pastas excluídas continuam a ser monitorizadas à procura de ficheiros executáveis.
  • Inicia a comparação a partir do Back Office ou através de um cron protegido por token. Em lojas com um número muito elevado de ficheiros, uma tarefa pode necessitar do processo da linha de comandos bin/snapshot-worker.php, que o administrador do servidor executa manualmente: o módulo nunca o inicia por si próprio.
  • Se uma análise falhar ou for cancelada, é mantida a última linha de base válida. Os resultados de uma comparação só são apresentados quando a tarefa estiver totalmente concluída.
  • Envia um alerta por e-mail quando deteta alterações relevantes. Os destinatários são configurados no módulo e, por predefinição, é o endereço de e-mail da loja. No cabeçalho do e-mail aparece o logótipo da sua loja e, no rodapé, o logótipo da GO ON Agency e a assinatura «PrestaWard by GO ON Agency».
  • Conserva o histórico durante o período que configurar (90 dias por predefinição) e não elimina as revisões pendentes.
  • O painel está dividido em separadores (Resumo, Alterações, Tarefas, Verificações, Configuração e Registos de atividade) e apenas considera o separador que tiver aberto, pelo que abre mais rapidamente em lojas de grande dimensão. Uma última aba, «Suporte», reúne o painel de suporte da GO ON Agency, e o estado do Integrity fica no final de todas as abas. O Resumo apresenta a linha de base, a última comparação, uma ação principal («Criar instantâneo» se não houver linha de base e «Comparar agora» se houver) e, no máximo, uma linha: a tarefa em curso ou o alerta mais importante, com «e mais N» caso existam outros.
  • As tarefas concluídas são conservadas durante 90 dias e podem ser consultadas no separador «Tarefas», numa tabela com filtros por tipo, estado e datas. Cada tarefa tem os seus detalhes (cronologia, ficheiros, memória máxima, avisos com pastas de exemplo e descarregamento do diagnóstico) e, quando os detalhes dos ficheiros são eliminados, mantém-se um resumo do que ocorreu.
  • Uma tarefa que requer o processo de linha de comandos aparece a âmbar, com a descrição em linguagem clara e o comando exato acompanhado de um botão para o copiar. No navegador, não existe um botão para retomar.

Requisitos

  • PrestaShop 1.7, 8 ou 9, incluindo instalações multiloja, e a versão do PHP exigida pela sua versão do PrestaShop (PHP 7.1 ou superior no PrestaShop 1.7).
  • Tabelas de base de dados com o motor InnoDB. O módulo verifica isso e converte as suas próprias tabelas aquando da atualização.
  • Após a instalação, apenas o perfil de administrador tem acesso. Os outros perfis são autorizados com as permissões nativas do PrestaShop de leitura, criação e modificação.
  • Painel e mensagens em nove idiomas.

O que não faz

  • Não se trata de uma cópia de segurança e não restaura ficheiros: deteta que algo foi alterado, mas não o recupera. Complementa as suas cópias de segurança e o seu controlo de versões, não os substitui.
  • Não se trata de um antivírus nem de um scanner de malware. Procura padrões comuns de web shells e de código ofuscado em ficheiros PHP e JavaScript novos ou modificados (até 512 KB cada) e vigia especialmente os ficheiros executáveis, incluindo aqueles que ocultam código PHP por detrás de uma extensão enganosa. Uma correspondência significa «verifique este ficheiro», não constitui prova de ataque, e um ficheiro sem correspondências não fica demonstrado como seguro.
  • Os sinais de skimmer de cartões em JavaScript são heurísticos: indicam um motivo para analisar o ficheiro, não comprovam uma violação de segurança, e um endereço que o código constrói durante a execução não é detetado. Os endereços da própria loja e das plataformas de pagamento não são considerados como outro site.
  • Não analisa a base de dados.
  • Não envia ficheiros, caminhos nem conteúdos para qualquer serviço externo. A ligação ao PrestaWard Integrity transmite o identificador da instalação e da loja, o domínio, a impressão digital do pacote instalado e a impressão digital resumida de cada instantâneo, sem dados pessoais dos clientes.
  • Não evita nem bloqueia as alterações na loja: avisa após estas ocorrerem.
  • O rodapé dos e-mails do módulo não contém links, endereços de contacto nem imagens alojadas fora da sua loja: o logótipo da GO ON Agency é um ficheiro do próprio módulo que é servido a partir da sua loja.

Principais funcionalidades

  • Instantâneos de módulos, gateways de pagamento, temas, núcleo, administração e configuração.
  • Análise de código suspeito em ficheiros PHP e JavaScript novos ou modificados: procura padrões característicos de web shells e de código ofuscado e explica o resultado em linguagem clara. Um ficheiro que exceda o limite de tamanho é marcado como revisto apenas parcialmente.
  • Deteção de imagens disfarçadas (com cabeçalho incorreto ou contendo código PHP) em todas as pastas, incluindo as excluídas e, dentro dos limites de tempo e tamanho, nas pastas voláteis, como img/tmp.
  • Nível de risco em cada alteração (elevado, requer revisão ou baixo), visível e filtrável na revisão, incluído no ficheiro CSV de auditoria e nos e-mails de alerta.
  • As atualizações de módulos e temas são agrupadas num único elemento, indicando a versão anterior e a nova, e o código PHP alterado no âmbito de uma atualização detetada apresenta um risco baixo e não gera e-mails de alerta.
  • Painel de ficheiros do núcleo: compara-os com a lista oficial de somas de verificação da sua versão do PrestaShop, em lotes que podem ser retomados. Apenas é descarregada a lista oficial; não é enviado qualquer ficheiro. Uma diferença não constitui prova de uma intrusão e, caso a lista não esteja disponível, o painel indica que o núcleo não foi verificado.
  • Auditoria à configuração de segurança com uma pontuação de 0 a 100 e 14 verificações: modo de depuração, pasta de administração, permissões de configuração, pastas de instalação, dumps e ficheiros compactados na raiz do site, versão do PHP, HTTPS, erros de PHP visíveis, reforço de segurança do PHP (allow_url_include e expose_php), pastas de controlo de versões e ficheiros de ambiente (.git, .svn, .hg, .env e variantes) na raiz do site e dentro de módulos e temas, chaves de serviços web com permissão de escrita em muitos recursos, verificação do endereço IP do cookie e contas inativas que mantêm o perfil SuperAdmin. No que diz respeito às chaves, apenas se contabiliza o número de chaves existentes, sem as ler nem as exibir, e, no que diz respeito às contas, apenas o número de contas existentes, sem nomes nem endereços. Cada ponto tem uma explicação e uma solução, e o que não for possível verificar é assinalado como «não verificado» e não contribui para a pontuação.
  • Heurísticas de skimmer de cartões no JavaScript novo ou modificado do tema ativo e dos módulos de pagamento: código que lê o número, a data de validade ou o código de segurança do cartão e os envia para outro site (risco elevado), dados enviados para outro site a partir do código do pedido ou do pagamento, e código muito ofuscado junto ao código do pedido ou do pagamento (ambos requerem revisão). Cada descoberta é explicada na revisão da alteração.
  • Orçamento de volume multimédia: para cada pasta (img, upload, uploads e download), conta os ficheiros e os bytes em cada linha de base e comparação, sem aceder a mais ficheiros nem guardar dados por ficheiro. A secção «Verificações» apresenta o total por pasta e o aumento em relação à linha de base, e a secção «Configuração» permite definir um número máximo de ficheiros, um tamanho máximo em GB e um aumento máximo em percentagem (50 % por predefinição; 0 desativa o limite). Qualquer limite excedido é apresentado no «Resumo» e no e-mail de alerta.
  • Limite de monitorização visível: se uma análise atingir o limite de 250 000 nomes lidos nas pastas excluídas, o Resumo e as Verificações indicam quantas pastas ficam sem monitorização, e o volume multimédia é assinalado como parcial.
  • Aviso relativo a uma tarefa cron que nunca foi executada e alerta específico para as pastas e cópias de segurança dos módulos que se encontrem na raiz do site.
  • Janela de manutenção de 1 a 4 horas: silencia os e-mails de alerta, mas continua a registar as alterações e, ao encerrar, envia um resumo agrupado com as ações «Aceitar estas alterações» ou «Dispensar». O Snapshot nunca cria uma linha de base por si só.
  • Revisão de alterações preparada para resultados de grande volume: paginação por janelas com salto para uma página, resumo agrupado por pasta, estado e nível de risco, e fila pendente na qual cada ficheiro aparece uma vez por linha de base.
  • Linha de base ágil em lojas de grande dimensão: a publicação apenas lê as linhas da sua própria tarefa e os dados temporários das tarefas concluídas são eliminados em lotes limitados, sem se acumularem.
  • Comparação a partir do Back Office ou cron protegido por token.
  • Alertas por e-mail com resumo, categorias afetadas e ligação para o painel.
  • Painel com separadores, incluindo um resumo básico, histórico de tarefas de 90 dias com filtros e detalhes, cobertura, alterações recentes, registos de atividade e um separador «Suporte» com o diagnóstico, sempre em último lugar.
  • Barra de filtros comum na revisão de alterações e no histórico de tarefas: os seletores estão distribuídos numa grelha de largura igual, a barra de pesquisa e o botão «Filtrar» encontram-se na mesma linha e as ações secundárias, como exportar a auditoria em CSV, estão alinhadas à direita.
  • Aspecto unificado do painel nos quatro módulos PrestaWard: cabeçalhos de secção, cartões de formulário com bordas neutras e blocos expansíveis comuns, estatísticas numa única linha e um logótipo da GO ON Agency de maiores dimensões no cabeçalho. O botão principal passa a ter uma cor sólida da marca, sem gradiente.
  • E-mails com o cabeçalho da sua loja: o logótipo da loja na parte superior e, no rodapé, o logótipo da GO ON Agency com a assinatura «PrestaWard by GO ON Agency». O assunto já não repete o nome da loja.
  • Tarefas de linha de base e comparação que são retomadas a partir do progresso guardado.
  • Exclusões configuráveis com pré-visualização e nova linha de base segura.
  • Vigilância obrigatória de ficheiros executáveis e configurações sensíveis, mesmo dentro de pastas excluídas.
  • Ligação automática ao PrestaWard Integrity, sem bloquear a loja, com recibos assinados e encadeados a partir da impressão digital de cada instantâneo. No ecrã do módulo, o botão «Sincronizar» atualiza a ligação.
  • Heartbeat e estado do cron para detetar execuções atrasadas ou com falha.
  • Análise incremental com rehash obrigatório de âmbitos críticos e análise completa periódica.
  • Classificação, filtros, paginação, revisão de alterações e exportação em CSV das alterações.
  • Diff seguro de metadados, retenção configurável e limpeza protegida.
  • Painel de suporte da GO ON Agency com um relatório de diagnóstico descarregável. É descarregado por um funcionário com permissão de edição, tendo selecionado uma loja. Contém apenas versões, estados e contadores, não inclui caminhos, conteúdo de ficheiros nem credenciais e não é enviado automaticamente.

Compatibilidade verificada

A versão 0.1.8 superou os testes de laboratório no PrestaShop 1.7, 8 e 9 a 15 de outubro de 2026, tanto numa instalação nova como numa atualização a partir da versão 0.1.7. A versão 0.1.7 superou os testes de laboratório a 13 de outubro de 2026, foi testada com um volume real de 151 440 ficheiros e foi utilizada como «canário» numa loja de produção real. A versão 0.1.3 superou ainda os testes de instalação, desinstalação, reinstalação, acesso autenticado, testes adversariais de exclusões e validação criptográfica no PrestaShop 1.7.8.11 com PHP 7.4, no PrestaShop 8.2.7 com PHP 8.1 e no PrestaShop 9.1.4 com PHP 8.5.

Utilização segura

Crie uma linha de base apenas quando a loja estiver revista e limpa. Compare após cada intervenção e não normalize alterações que ainda não tenha identificado. O módulo complementa, mas não substitui, as cópias de segurança nem o controlo de versões.

Registo de alterações

0.1.8

  • O painel está dividido em separadores (Resumo, Alterações, Tarefas, Verificações, Configuração e Registos de atividade) e apenas tem em conta o separador que está aberto, pelo que abre mais rapidamente em lojas de grande dimensão. O painel de suporte da GO ON Agency tem a sua própria aba, «Suporte», sempre a última, e a secção Integrity fica no final de todas as abas.
  • Resumo mínimo: a linha de base atual, a última comparação e o seu resultado, uma ação principal e, no máximo, uma linha com as tarefas em curso ou o alerta mais importante (alterações pendentes de revisão, pastas novas ou já não abrangidas que exigem uma nova linha de base, uma janela de manutenção por encerrar, um cron que nunca foi executado ou está atrasado, cópias de segurança na raiz do site). Se houver mais alertas, a linha acrescenta «e mais N».
  • Separador «Tarefas»: a tarefa em curso é apresentada como um cartão com as suas fases (descobrir, calcular impressões digitais, validar, comparar ou publicar, atestação), contador de ficheiros, tempo decorrido, última atualização e quem a executa (Back Office, cron ou linha de comandos). Uma tarefa que requer o processo de linha de comandos aparece a âmbar, com o motivo descrito em linguagem clara e o comando exato acompanhado de um botão para o copiar; no navegador, não dispõe de botão para retomar.
  • Histórico de tarefas de 90 dias numa única tabela (tipo, origem, funcionário, início, duração, estado, resultado e avisos) com filtros por tipo, estado e datas, bem como paginação, em vez do limite anterior das últimas 20 tarefas ou 7 dias. O resultado de uma comparação remete para as alterações detetadas e uma verificação dos ficheiros do núcleo remete para o separador «Verificações».
  • Detalhes de cada tarefa: cronologia, ficheiros, memória máxima, hash da política, linha de base e comparação com links, avisos com pastas de exemplo, uma mensagem de erro traduzida caso tenha falhado e download do diagnóstico. Quando os detalhes dos ficheiros da tarefa concluída são eliminados, é mantido um resumo (contagens de alertas com pastas de exemplo e pastas não totalmente abrangidas) e a página indica que os detalhes foram eliminados.
  • A cobertura por categoria passa para o final da secção «Alterações»; as verificações da loja (cópias de segurança, ficheiros do núcleo, auditoria de configuração e estado dos módulos) ficam agrupadas na secção «Verificações»; e os ajustes de e-mail, cron, política de análise, janela de manutenção e armazenamento encontram-se na secção «Configuração».
  • A auditoria à configuração de segurança passa a incluir 14 verificações. Novidades: reforço de segurança do PHP (allow_url_include e expose_php), pastas de controlo de versões e ficheiros de ambiente (.git, .svn, .hg, .env e variantes) na raiz do site e dentro de módulos e temas, chaves de serviço web com permissão de escrita em vários recursos (apenas se conta o número de chaves existentes; nunca se lê nem se mostra uma chave), verificação do endereço IP do cookie e contas inativas que mantêm o perfil SuperAdmin (apenas são contadas, sem nomes nem endereços). Cada um destes casos tem uma explicação e uma solução, e o que não é possível ler é indicado como «não verificado». Os ficheiros .git, .svn e .env na raiz do site passam da verificação dos ficheiros de instalação e das cópias para a nova verificação, para que não sejam contados duas vezes.
  • Heurísticas de skimmer de cartões para JavaScript: o código JavaScript novo ou alterado do tema ativo e dos módulos de pagamento é igualmente analisado à procura de três sinais: código que lê o número, a data de validade ou o código de segurança e envia dados para outro site (risco elevado), dados enviados para outro site a partir do código do pedido ou do pagamento (requer revisão) e código muito ofuscado junto ao código do pedido ou do pagamento (requer revisão). Os endereços da própria loja, as plataformas de pagamento e, no caso dos sinais mais fracos, os servidores de análise conhecidos não são considerados como outro site. Uma coincidência constitui um motivo para analisar o ficheiro, não uma prova de comprometimento, e um endereço que o código constrói durante a sua execução não é detetado.
  • Orçamento de volume multimédia: cada linha de base e comparação contabiliza, para cada pasta multimédia (img, upload, uploads e download), os ficheiros e os bytes já analisados, sem aceder a mais ficheiros nem guardar dados por ficheiro. A secção «Verificações» apresenta o total por pasta, o aumento em relação à linha de base e se um limite foi excedido. A secção «Configuração» tem três limites: número máximo de ficheiros, tamanho máximo em GB e aumento máximo em relação à linha de base em percentagem (50 % por predefinição; 0 desativa um limite). Um limite ultrapassado aparece no Resumo e no e-mail de alerta, que também é enviado quando nenhum ficheiro sofreu alterações suficientes para, por si só, provocar essa ultrapassagem.
  • O limite de monitorização visível: uma análise lê, no máximo, 250 000 nomes nas pastas excluídas, e as pastas subsequentes eram registadas como não abrangidas, mas apenas eram apresentadas na tarefa. Agora, aparecem como uma linha de alerta no Resumo e um aviso em Verificações com o número de pastas não monitorizadas, e o volume multimédia é assinalado como parcial se tiver sido medido abaixo desse limite.
  • Corrige o facto de a ligação com o Integrity se deteriorar no Back Office no contexto «todas as lojas» ou quando uma loja diferente da primeira apresentava o teste de inscrição: a loja ligada passava para o estado «inscrição pendente» e o teste não podia ser assinado. A identidade da instalação é agora lida como uma unidade a partir do âmbito global (ou da loja onde está guardada) em qualquer contexto; a atualização transfere para o âmbito global uma identidade guardada numa loja sem a regenerar e, caso não seja possível lê-la, o estado do Integrity mantém-se inalterado.
  • Novo: barra de filtros comum. A revisão de alterações e o histórico de tarefas utilizam-na: os seletores estão distribuídos numa grelha de largura igual, a barra de pesquisa e o botão «Filtrar» encontram-se na mesma linha e as ações secundárias, como exportar a auditoria em CSV, ficam alinhadas à direita. Anteriormente, os filtros estavam amontoados e os botões sobrepunham-se.
  • Os e-mails de alerta, de resumo de manutenção e de teste apresentam o logótipo da sua loja no cabeçalho (com o nome da loja como texto alternativo) e um rodapé comum com o logótipo da GO ON Agency e a assinatura «PrestaWard by GO ON Agency», sem links nem endereços de contacto. O logótipo do rodapé é um ficheiro do próprio módulo disponibilizado a partir da sua loja.
  • Corrige o problema de o assunto dos e-mails conter o nome da loja duas vezes.
  • Aspecto unificado do painel nos quatro módulos PrestaWard: cabeçalhos de secção, cartões de formulário com bordas neutras e blocos expansíveis comuns, estatísticas numa única linha e um logótipo da GO ON Agency de maiores dimensões no cabeçalho. O botão principal passa a ter uma cor sólida da marca, sem gradiente.
  • Corrige o facto de, no PrestaShop 9, o tema de administração apresentar os separadores sublinhados como ligações e os títulos das secções em maiúsculas. Os estilos comuns neutralizam este efeito apenas no painel do PrestaWard, pelo que o PrestaShop 1.7 e 8 mantêm o aspeto anterior.
  • Corrige o facto de, no PrestaShop 1.7, a folha de estilos do módulo ser rejeitada ao registar-se com o número da versão no endereço. Agora, o ficheiro é verificado e registado sem parâmetros, de modo a que o novo aspeto apareça nas versões 1.7, 8 e 9.
  • Corrige o fato de, não PrestaShop 9, as ações do painel (os pedidos de tarefas e o download do relatório de suporte, bem como a sincronização com o Integrity) verificarem o token de segurança através de um método que o PrestaShop 9 não utiliza, o que poderia levar à sua rejeição. Agora a validação é efetuada através do serviço do PrestaShop 9; no PrestaShop 1.7 e 8, a verificação mantém-se inalterada.
  • Quando a ligação ao Integrity não puder ser atualizada nesse momento, o painel apresenta uma única mensagem: a ligação guardada continua válida e será tentada novamente de forma automática. Os rótulos de todos os separadores estão traduzidos para os nove idiomas.
  • O cabeçalho do produto volta a apresentar o logótipo da GO ON Agency e a assinatura «PrestaWard by GO ON Agency», sem hiperligações. O formato da linha de base, os bytes do manifesto e o contrato com a Integrity API não sofrem alterações; a atualização adiciona colunas (duas à tabela de tarefas e as relativas ao volume multimédia por pasta, tarefa e linha de base).

0.1.7

  • Analisa o código suspeito dos ficheiros PHP e JavaScript novos ou modificados (até 512 KB cada) à procura de padrões característicos de web shells e de código ofuscado, e explica o resultado em linguagem clara. Uma correspondência significa «verifique este ficheiro», não uma prova de ataque; um ficheiro sem correspondências não é considerado seguro, e um que exceda o limite é marcado como parcialmente verificado.
  • Deteta imagens disfarçadas (com cabeçalho incorreto ou com código PHP no interior) em todas as pastas: incluídas, excluídas e, dentro de um limite de tempo e tamanho, pastas voláteis como img/tmp, que a análise ainda não percorreu.
  • Atribui um nível de risco a cada alteração (elevado, requer revisão ou baixo), visível e filtrável na revisão de alterações e incluído no ficheiro CSV de auditoria e nos e-mails de alerta.
  • Agrupe as atualizações de módulos e temas num único elemento, indicando a versão anterior e a nova. O código PHP alterado no âmbito de uma atualização detetada apresenta baixo risco e já não gera e-mails de alerta. Requer uma linha de base criada com esta versão.
  • Novo painel de ficheiros do núcleo: compara-os com a lista oficial de somas de verificação da sua versão do PrestaShop, em lotes que podem ser retomados. Uma diferença não constitui prova de uma intrusão; se a lista não existir ou não puder ser descarregada, o painel indica que o núcleo não foi verificado e nunca o apresenta como tendo sido aprovado.
  • Nova auditoria à configuração de segurança com uma pontuação de 0 a 100 (modo de depuração, pasta de administração, permissões de configuração, pastas de instalação, cópias de segurança e ficheiros compactados na raiz do site, versão do PHP, HTTPS e erros de PHP visíveis, entre outros aspetos). Cada ponto inclui uma explicação e uma solução; o que não for possível verificar é indicado como «não verificado» e não é pontuado.
  • Avisa de um cron que nunca foi executado e, com um alerta específico, das pastas e cópias de segurança dos módulos que se encontrem na raiz do site.
  • As novas instalações excluem, por predefinição, as cópias de segurança dos módulos e a pasta de downloads. Nas instalações existentes, essas exclusões são apresentadas no painel e só se aplicam se as ativar, o que cria uma nova linha de base.
  • Janela de manutenção de 1 a 4 horas: silencia os e-mails de alerta, mas continua a registar as alterações e, ao encerrar, envia um resumo agrupado com as ações «Aceitar estas alterações» ou «Dispensar». A opção «Aceitar» apenas as marca como revistas; o Snapshot nunca cria uma linha de base por si só.
  • Quando a cobertura da análise aumenta entre versões, os ficheiros das pastas que a linha de base anterior não abrangia são reportados como nova cobertura e não como milhares de ficheiros adicionados com alertas críticos.
  • A revisão de alterações funciona com resultados de grande dimensão: paginação com salto para a página, resumo agrupado por pasta, estado e risco, e alterações pendentes de linhas de base anteriores marcadas como substituídas.
  • Reduz o tempo de criação da linha de base e de validação de diretórios em lojas de grande dimensão com tarefas anteriores retidas (minutos em vez de dezenas de minutos) e elimina, em lotes limitados, as linhas temporárias das tarefas concluídas.
  • Corrige vários avisos: O Snapshot já não deteta os seus próprios ficheiros como alterações de alto risco; o ficheiro padrão de Proteção do PrestaShop index.php já não é marcado como executável suspeito; «Alterações recentes» apresenta os totais da última comparação e, após a criação de uma linha de base, o painel já não apresenta a comparação anterior como atual.
  • O Back Office indica «A processar a partir da consola» enquanto o processo da consola está a decorrer; atualizar a página após clicar num botão já não o reenvia e um início rejeitado indica qual a tarefa que está em curso. O processo da consola apresenta uma breve linha de progresso em vez de uma por cada passo.
  • Coerência do Back Office: o painel de tarefas e os seus botões têm o mesmo aspeto que o resto do painel, e as mensagens de estado do cron e do registo de atividades são apresentadas no idioma do Back Office nos nove idiomas.
  • O painel de suporte e diagnóstico é colocado imediatamente antes da secção Integrity, tal como nos restantes módulos PrestaWard, e, no contexto «todas as lojas», já não desaparece: indica que é necessário selecionar uma loja.
  • As folhas de estilo são carregadas com a versão do módulo, pelo que o novo aspeto aparece após a atualização, sem necessidade de esvaziar a cache do navegador.
  • Sincroniza com o Integrity sempre que abrir o painel, através de um pedido em segundo plano que nunca atrasa a página e, no máximo, uma vez por minuto por loja.

0.1.6

  • Um link simbólico já não interrompe a verificação: é ignorado sem ser seguido nem ter a sua impressão digital calculada (não fazendo, portanto, parte da linha de base) e é indicado no painel, com um alerta quando aponta para fora da loja ou para um destino inexistente.
  • Descarta, durante a análise, os ficheiros que não podem fazer parte do manifesto.
  • Nunca percorre as pastas voláteis do PrestaShop (img/tmp e as caches de recursos combinados do tema), que são regeneradas constantemente e podem interromper uma análise com directory_changed.
  • Aplica as exclusões antes de aceder a cada pasta: as pastas excluídas deixam de fazer parte da análise de integridade e são apenas monitorizadas à procura de ficheiros executáveis, numa verificação separada que nunca interrompe a tarefa e que está limitada a 250 000 nomes por tarefa.
  • Volta a analisar até três vezes uma pasta incluída que sofre alterações durante a análise. Se continuar a sofrer alterações, as pastas do núcleo, da configuração, da administração, dos módulos de gateway de pagamento e do tema ativo interrompem a tarefa como anteriormente; as restantes são ignoradas com um alerta e a tarefa é concluída.
  • O cron processa vários lotes consecutivos por chamada (até cerca de 20 segundos) e notifica com o estado cli_required e a resposta HTTP 409 quando uma tarefa requer o processo de linha de comandos. Uma ferramenta de monitorização que considere como falha qualquer resposta diferente de 2xx irá assinalá-la, como seria de esperar. Esse processo é executado manualmente pelo administrador do servidor: o módulo nunca o inicia por si próprio.
  • Reforça o bloqueio que impede execuções simultâneas do cron, mesmo que as duas primeiras execuções coincidam.
  • Transfira os ficheiros temporários do manifesto para um diretório privado dentro das lojas, compatível com o open_basedir e com a limpeza do diretório temporário do sistema. No Nginx, é aconselhável bloquear o acesso a var/prestaward-snapshot/.
  • Deteta tabelas que não utilizam o InnoDB, apresenta uma mensagem clara nos nove idiomas e converte as tabelas do módulo durante a atualização, registando cada conversão.
  • Adiciona um painel de verificação de estado no Back Office, só de leitura: pasta privada de preparação, motor de armazenamento da base de dados, frequência do cron e tarefas à espera do processo da linha de comandos.
  • Corrige os totais do relatório de tarefas: as ligações são contabilizadas separadamente dos ficheiros excluídos.
  • Cada módulo é analisado uma única vez, no âmbito dos pagamentos ou no dos módulos, de modo que um módulo que não seja uma gateway de pagamento e que sofra alterações durante a análise já não interrompe a tarefa.
  • Se uma tarefa não conseguir abranger totalmente uma pasta, o instantâneo é apresentado com cobertura parcial e a comparação marca os ficheiros dessas pastas como «não verificados», em vez de eliminados.
  • O painel de tarefas indica as pastas afetadas por cada tipo de alerta e o que fazer, nos nove idiomas. A desinstalação elimina também as tabelas de tarefas.
  • PrestaShop 9: o processo de linha de comandos e o cron já não apresentam erros ao confundir a pasta «admin-api» do núcleo com a do Back Office.
  • Quando o processo da linha de comandos falha, termina com uma linha de diagnóstico com um código de motivo fixo, sem caminhos nem mensagens internas.
  • Reduz o custo da análise em lojas com muitos ficheiros.
  • PHP 7.1 e 7.2: a inscrição, a atestação e o heartbeat do Integrity já não são interrompidos devido a um erro de sintaxe.
  • Corrige a atualização a partir da versão 0.1.5, quando falta a tabela de instantâneos.
  • Validado em ambiente de laboratório no PrestaShop 1.7, 8 e 9, incluindo um teste com 300 000 ficheiros que se alteram durante a análise.

0.1.5

  • Restaura as tentativas automáticas de atestação do Integrity, os heartbeats pendentes e a retenção após as respostas do cron assíncrono. A manutenção é executada em lotes limitados e coordenada separadamente dos avanços da verificação.
  • Se uma linha de base anterior incluía várias pastas de administração, a próxima comparação pode apresentar entradas adicionais: verifique as diferenças e crie uma nova linha de base quando for o caso, sem apagar automaticamente a anterior.
  • Permite nomes de ficheiros válidos com pontos consecutivos e mantém a proteção contra caminhos inseguros.
  • Conserva todos os ficheiros das pastas de administração adicionais, sem os confundir com os do Back Office ativo.
  • Guarda o progresso das linhas de base e das comparações para poder continuar após fechar o painel ou interromper um pedido.
  • Processa e verifica ficheiros em lotes; os resultados só são apresentados após a conclusão da tarefa e a última linha de base válida é mantida caso o processo seja cancelado ou falhe.
  • Corrige a comparação dos ficheiros de administração com linhas de base anteriores e mantém as pastas excluídas desmarcadas.
  • Adiciona um relatório de diagnóstico descarregável para ser anexado manualmente a um pedido de suporte, sem enviar dados automaticamente. Só pode ser descarregado por um funcionário com permissão de edição e com uma loja selecionada, e não inclui caminhos, conteúdo de ficheiros nem credenciais.
  • Completa os estados do painel, os avisos e os modelos de alertas em nove idiomas.
  • Conserve as correções de inscrição e atualização da versão 0.1.4.

0.1.4

  • Corrige erros de inscrição do Integrity no PrestaShop 9 e mantém a inscrição existente ao atualizar lojas sem a funcionalidade multiloja.
  • Restaura as tentativas automáticas de inscrição e regista a causa real das falhas.
  • Atualiza o design comum do Back Office e adiciona informações sobre o tratamento de dados.
  • Ajusta os formatos de números e de duração ao idioma do administrador e traduz os estados e as etiquetas do painel.
  • Corrige o avanço da versão instalada durante a atualização.
  • Prepara o pacote AFL-3.0 para Addons: remove o verificador de atualizações e calcula a identidade a partir dos ficheiros instalados.

0.1.3

  • Patch de segurança: a verificação abrange agora toda a instalação do PrestaShop, incluindo as pastas override, src, vendor, upload, download, img, js e os ficheiros na raiz.
  • Patch de segurança: os ficheiros com relevância para a segurança são sempre monitorizados, independentemente da sua extensão.
  • Patch de segurança: reforça a verificação das atestações remotas e interrompe as tentativas automáticas quando a chave de registo da loja é alterada.

0.1.2

  • Heartbeat automático sem cron, ativado de forma não bloqueante pelo tráfego normal das lojas.
  • O pedido do navegador permanece no mesmo domínio e as credenciais do Integrity são utilizadas exclusivamente no servidor.
  • Bloqueio por loja, intervalo de seis horas e tempo de espera após falhas para evitar duplicados.
  • A sincronização manual do Integrity também atualiza a presença da instalação.

0.1.1

  • Heartbeat da Integrity e monitorização do estado do cron.
  • Hashing incremental seguro com revisão completa periódica e âmbitos críticos sempre recalculados.
  • Classificação de alterações de rotina, suspeitas e críticas.
  • Filtros, paginação, revisão com notas e exportação CSV de auditoria.
  • Diferenças de metadados sem armazenamento de conteúdo e retenção com limpeza protegida.
  • Painel de controlo visualmente alinhado com o ecossistema PrestaWard.

0.1.0

  • Registo automático e não bloqueante na PrestaWard Integrity API.
  • Fila local com novas tentativas para atestar cada manifesto sem enviar ficheiros nem conteúdo.
  • Recibos remotos assinados, encadeados e verificados dentro da loja.
  • Estado da ligação e da entrega visível a partir do Painel de Controlo.

0.0.9

  • Ligações de ajuda contextual a partir dos campos de configuração para o guia público.
  • Guia público reorganizado por objetivo e campo, com explicações práticas sobre cada ajuste.
  • Foi eliminada da configuração a apresentação redundante da origem das atualizações.

0.0.8

  • Exclusões configuráveis por nome exato e caminho relativo, com política imutável e hash SHA-256.
  • É obrigatória a pré-visualização antes de ativar uma política e criar a sua nova linha de base.
  • Bloqueio de comparações entre políticas diferentes.
  • Monitorização não configurável de executáveis e ficheiros de configuração dentro de zonas excluídas.
  • Deteção limitada de cabeçalhos PHP e interpretadores perigosos em ficheiros com extensões enganosas.
  • Validação completa no PrestaShop 1.7, 8 e 9, incluindo um teste misto com 100 000 ficheiros.

0.0.7

  • A identificação completa do produto e do módulo técnico foi renomeada para PrestaWard Snapshot.
  • Acesso inicial restrito ao perfil de administrador.
  • Autorização explícita de perfis adicionais através das permissões nativas do PrestaShop.
  • Separação de leitura, criação de instantâneos e configuração através das permissões READ, CREATE e UPDATE.
  • Ocultação de configurações, tokens de cron e ações sensíveis para perfis de leitura apenas.
  • Documentação esclarecida: o módulo supervisiona a integridade, mas não armazena nem restaura cópias de segurança.

0.0.6

  • Links para produtos, guias, fornecedores e suporte que permanecem ativos após uma instalação limpa.
  • Atualização de metadados a partir do manifesto público.
  • Logótipos da GO ON Agency com links no Back Office e nos e-mails.
  • URL alternativa visível em e-mails em HTML e em texto simples.
  • Ação de e-mail de teste e ferramentas de lançamento reproduzíveis.

0.0.5

  • Carregamento automático do controlador legado corrigido.
  • Acesso transferido para a secção raiz PrestaWard Snapshot.

0.0.4

  • Menu do Back Office clicável.
  • Validação completa do ciclo completo de instalação e desinstalação.

0.0.3

  • Contexto explícito de loja múltipla.
  • Compatibilidade com propriedades dinâmicas no PHP 8.5.

0.0.2

  • Funções de autorização e permissões de acesso explícitas.

0.0.1

  • Linha de base, comparação, alertas, cron, registos, verificação de atualizações e painel inicial.