{"id":38,"date":"2026-07-29T12:36:55","date_gmt":"2026-07-29T10:36:55","guid":{"rendered":"https:\/\/go-onagency.es\/modulos\/prestaward-snapshot\/"},"modified":"2026-10-16T19:03:09","modified_gmt":"2026-10-16T17:03:09","slug":"prestaward-snapshot","status":"publish","type":"page","link":"https:\/\/go-onagency.es\/pt\/modulos\/prestaward-snapshot\/","title":{"rendered":"PrestaWard Snapshot"},"content":{"rendered":"<section class=\"section product-hero product-hero--prestaward\">\n<div class=\"container product-hero__inner\">\n<div class=\"product-hero__copy\">\n<p class=\"eyebrow\">M\u00f3dulo PrestaShop<\/p>\n<h1>PrestaWard Snapshot<\/h1>\n<p><strong>Controlo de integridade para lojas PrestaShop.<\/strong> Cria uma linha de base de ficheiros, compara altera\u00e7\u00f5es e avisa por e-mail quando algo sens\u00edvel \u00e9 alterado.<\/p>\n<p><strong>Distribui\u00e7\u00e3o exclusiva no PrestaShop Marketplace (Addons).<\/strong><\/p>\n<div class=\"product-hero__actions\">\n        <a class=\"button button--ghost\" href=\"https:\/\/go-onagency.es\/prestaward-snapshot\/changelog\/pt\/\">Registo de altera\u00e7\u00f5es<\/a><br \/>\n        <a class=\"button button--ghost\" href=\"https:\/\/go-onagency.es\/prestaward-snapshot\/prestaward-snapshot-user-guide.pdf\" target=\"_blank\" rel=\"noopener\">Guia em PDF<\/a><br \/>\n        <a class=\"button button--ghost\" href=\"\/ayuda\/prestaward-snapshot\/\">Guia de ajuda<\/a>\n      <\/div>\n<div id=\"snapshot-gallery\" style=\"margin-top:20px\">\n<p style=\"margin:0 0 8px;font-size:13px;font-weight:600;color:#b6bcc7\">Capturas de ecr\u00e3<\/p>\n<div style=\"display:flex;flex-wrap:wrap;gap:12px\"><a href=\"\/wp-content\/themes\/go-on-agency\/assets\/img\/prestaward-snapshot-gallery\/v018-es-01-resumen.png\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"display:block;width:150px;text-decoration:none;color:inherit\"><img decoding=\"async\" src=\"\/wp-content\/themes\/go-on-agency\/assets\/img\/prestaward-snapshot-gallery\/v018-es-01-resumen-thumb.png\" alt=\"PrestaWard Snapshot 0.1.8: resumo do \u00faltimo snapshot, da \u00faltima verifica\u00e7\u00e3o e das altera\u00e7\u00f5es recentes\" width=\"150\" height=\"125\" loading=\"lazy\" style=\"display:block;width:150px;height:auto;border:1px solid #dce4eb;border-radius:6px\"><span style=\"display:block;margin-top:4px;font-size:12px;color:#b6bcc7\">Resumo do estado<\/span><\/a><a href=\"\/wp-content\/themes\/go-on-agency\/assets\/img\/prestaward-snapshot-gallery\/v018-es-02-trabajos.png\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"display:block;width:150px;text-decoration:none;color:inherit\"><img decoding=\"async\" src=\"\/wp-content\/themes\/go-on-agency\/assets\/img\/prestaward-snapshot-gallery\/v018-es-02-trabajos-thumb.png\" alt=\"PrestaWard Snapshot 0.1.8: hist\u00f3rico de tarefas de linha de base e compara\u00e7\u00e3o\" width=\"150\" height=\"125\" loading=\"lazy\" style=\"display:block;width:150px;height:auto;border:1px solid #dce4eb;border-radius:6px\"><span style=\"display:block;margin-top:4px;font-size:12px;color:#b6bcc7\">Hist\u00f3rico de tarefas<\/span><\/a><a href=\"\/wp-content\/themes\/go-on-agency\/assets\/img\/prestaward-snapshot-gallery\/v018-es-03-comprobaciones.png\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"display:block;width:150px;text-decoration:none;color:inherit\"><img decoding=\"async\" src=\"\/wp-content\/themes\/go-on-agency\/assets\/img\/prestaward-snapshot-gallery\/v018-es-03-comprobaciones-thumb.png\" alt=\"PrestaWard Snapshot 0.1.8: verifica\u00e7\u00e3o dos ficheiros do n\u00facleo e auditoria \u00e0 configura\u00e7\u00e3o de seguran\u00e7a\" width=\"150\" height=\"125\" loading=\"lazy\" style=\"display:block;width:150px;height:auto;border:1px solid #dce4eb;border-radius:6px\"><span style=\"display:block;margin-top:4px;font-size:12px;color:#b6bcc7\">Auditoria de seguran\u00e7a<\/span><\/a><a href=\"\/wp-content\/themes\/go-on-agency\/assets\/img\/prestaward-snapshot-gallery\/v018-es-04-configuracion.png\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"display:block;width:150px;text-decoration:none;color:inherit\"><img decoding=\"async\" src=\"\/wp-content\/themes\/go-on-agency\/assets\/img\/prestaward-snapshot-gallery\/v018-es-04-configuracion-thumb.png\" alt=\"PrestaWard Snapshot 0.1.8: configura\u00e7\u00e3o de alertas por e-mail, estado do cron e reten\u00e7\u00e3o\" width=\"150\" height=\"125\" loading=\"lazy\" style=\"display:block;width:150px;height:auto;border:1px solid #dce4eb;border-radius:6px\"><span style=\"display:block;margin-top:4px;font-size:12px;color:#b6bcc7\">Alertas e cron<\/span><\/a><\/div>\n<p style=\"margin:7px 0 0;font-size:11px;color:#b6bcc7\">Interface em espanhol \u00b7 vers\u00e3o 0.1.8<\/p>\n<\/div><\/div>\n<div class=\"product-hero__card\">\n      <img decoding=\"async\" src=\"https:\/\/go-onagency.es\/wp-content\/themes\/go-on-agency\/assets\/img\/prestaward-snapshot-logo.svg\" alt=\"PrestaWard Snapshot\"><br \/>\n      <span>Refer\u00eancia + compara\u00e7\u00e3o + alertas<\/span><\/p>\n<ul class=\"product-hero__checks\">\n<li>Tarefas com progresso guardado<\/li>\n<li>Ficheiros sens\u00edveis sob controlo<\/li>\n<li>PrestaShop 1.7, 8 e 9<\/li>\n<li>Laborat\u00f3rio multivers\u00e3o<\/li>\n<\/ul><\/div>\n<\/p><\/div>\n<\/section>\n<section class=\"section product-page-main product-page-main--prestaward\">\n<div class=\"container product-page-layout\">\n<article class=\"product-page-content product-page-content--editable\">\n<h2>O que faz<\/h2>\n<p>Uma loja est\u00e1 em constante mudan\u00e7a. O PrestaWard Snapshot cria uma refer\u00eancia t\u00e9cnica e apresenta os ficheiros adicionados, alterados ou eliminados, para que possa distinguir uma interven\u00e7\u00e3o planeada de uma altera\u00e7\u00e3o inesperada.<\/p>\n<p>Al\u00e9m disso, analisa o c\u00f3digo suspeito dos ficheiros novos ou modificados, atribui um n\u00edvel de risco a cada altera\u00e7\u00e3o e agrupa as atualiza\u00e7\u00f5es de m\u00f3dulos e temas, para que o que merece aten\u00e7\u00e3o n\u00e3o se perca entre as altera\u00e7\u00f5es de rotina.<\/p>\n<p>Verifique tamb\u00e9m o JavaScript do tema ativo e dos m\u00f3dulos de pagamento em busca de sinais de skimmers de cart\u00f5es, monitorize o volume das pastas multim\u00e9dia e verifique 14 pontos da configura\u00e7\u00e3o de seguran\u00e7a. Um painel com separadores, com um Resumo sucinto, indica-lhe numa \u00fanica linha o que requer aten\u00e7\u00e3o. Tem acesso de leitura apenas aos seus ficheiros: n\u00e3o os altera, n\u00e3o os restaura nem os apaga, e apenas grava no seu pr\u00f3prio espa\u00e7o de trabalho e na sua base de dados.<\/p>\n<h2>Como funciona<\/h2>\n<ul>\n<li>Guarda uma impress\u00e3o digital SHA-256 de cada ficheiro, juntamente com o seu caminho relativo, o seu tamanho e a data de modifica\u00e7\u00e3o. N\u00e3o guarda c\u00f3pias dos ficheiros nem do seu conte\u00fado.<\/li>\n<li>Compara a loja com a linha de base mais recente e classifica cada altera\u00e7\u00e3o como de rotina, suspeita ou cr\u00edtica. Os ficheiros execut\u00e1veis e os ficheiros de configura\u00e7\u00e3o sens\u00edveis s\u00e3o sempre monitorizados.<\/li>\n<li>Analisa m\u00f3dulos, gateways de pagamento, temas, classes do n\u00facleo, administra\u00e7\u00e3o, configura\u00e7\u00e3o, <code>override<\/code>, <code>src<\/code>, <code>vendor<\/code>, <code>upload<\/code>, <code>download<\/code>, <code>img<\/code>, <code>js<\/code> e os ficheiros da raiz. As pastas vol\u00e1teis do PrestaShop, tais como <code>img\/tmp<\/code> e as caches de recursos do tema, n\u00e3o s\u00e3o analisadas.<\/li>\n<li>As exclus\u00f5es s\u00e3o definidas pelo nome exato ou pelo caminho relativo. Antes de as ativar, \u00e9 obrigat\u00f3ria uma pr\u00e9-visualiza\u00e7\u00e3o, e as pastas exclu\u00eddas continuam a ser monitorizadas \u00e0 procura de ficheiros execut\u00e1veis.<\/li>\n<li>Inicia a compara\u00e7\u00e3o a partir do Back Office ou atrav\u00e9s de um cron protegido por token. Em lojas com um n\u00famero muito elevado de ficheiros, uma tarefa pode necessitar do processo da linha de comandos <code>bin\/snapshot-worker.php<\/code>, que o administrador do servidor executa manualmente: o m\u00f3dulo nunca o inicia por si pr\u00f3prio.<\/li>\n<li>Se uma an\u00e1lise falhar ou for cancelada, \u00e9 mantida a \u00faltima linha de base v\u00e1lida. Os resultados de uma compara\u00e7\u00e3o s\u00f3 s\u00e3o apresentados quando a tarefa estiver totalmente conclu\u00edda.<\/li>\n<li>Envia um alerta por e-mail quando deteta altera\u00e7\u00f5es relevantes. Os destinat\u00e1rios s\u00e3o configurados no m\u00f3dulo e, por predefini\u00e7\u00e3o, \u00e9 o endere\u00e7o de e-mail da loja. No cabe\u00e7alho do e-mail aparece o log\u00f3tipo da sua loja e, no rodap\u00e9, o log\u00f3tipo da GO ON Agency e a assinatura \u00abPrestaWard by GO ON Agency\u00bb.<\/li>\n<li>Conserva o hist\u00f3rico durante o per\u00edodo que configurar (90 dias por predefini\u00e7\u00e3o) e n\u00e3o elimina as revis\u00f5es pendentes.<\/li>\n<li>O painel est\u00e1 dividido em separadores (Resumo, Altera\u00e7\u00f5es, Tarefas, Verifica\u00e7\u00f5es, Configura\u00e7\u00e3o e Registos de atividade) e apenas considera o separador que tiver aberto, pelo que abre mais rapidamente em lojas de grande dimens\u00e3o. Uma \u00faltima aba, \u00abSuporte\u00bb, re\u00fane 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 \u00faltima compara\u00e7\u00e3o, uma a\u00e7\u00e3o principal (\u00abCriar instant\u00e2neo\u00bb se n\u00e3o houver linha de base e \u00abComparar agora\u00bb se houver) e, no m\u00e1ximo, uma linha: a tarefa em curso ou o alerta mais importante, com \u00abe mais N\u00bb caso existam outros.<\/li>\n<li>As tarefas conclu\u00eddas s\u00e3o conservadas durante 90 dias e podem ser consultadas no separador \u00abTarefas\u00bb, numa tabela com filtros por tipo, estado e datas. Cada tarefa tem os seus detalhes (cronologia, ficheiros, mem\u00f3ria m\u00e1xima, avisos com pastas de exemplo e descarregamento do diagn\u00f3stico) e, quando os detalhes dos ficheiros s\u00e3o eliminados, mant\u00e9m-se um resumo do que ocorreu.<\/li>\n<li>Uma tarefa que requer o processo de linha de comandos aparece a \u00e2mbar, com a descri\u00e7\u00e3o em linguagem clara e o comando exato acompanhado de um bot\u00e3o para o copiar. No navegador, n\u00e3o existe um bot\u00e3o para retomar.<\/li>\n<\/ul>\n<h2>Requisitos<\/h2>\n<ul>\n<li>PrestaShop 1.7, 8 ou 9, incluindo instala\u00e7\u00f5es multiloja, e a vers\u00e3o do PHP exigida pela sua vers\u00e3o do PrestaShop (PHP 7.1 ou superior no PrestaShop 1.7).<\/li>\n<li>Tabelas de base de dados com o motor InnoDB. O m\u00f3dulo verifica isso e converte as suas pr\u00f3prias tabelas aquando da atualiza\u00e7\u00e3o.<\/li>\n<li>Ap\u00f3s a instala\u00e7\u00e3o, apenas o perfil de administrador tem acesso. Os outros perfis s\u00e3o autorizados com as permiss\u00f5es nativas do PrestaShop de leitura, cria\u00e7\u00e3o e modifica\u00e7\u00e3o.<\/li>\n<li>Painel e mensagens em nove idiomas.<\/li>\n<\/ul>\n<h2>O que n\u00e3o faz<\/h2>\n<ul>\n<li>N\u00e3o se trata de uma c\u00f3pia de seguran\u00e7a e n\u00e3o restaura ficheiros: deteta que algo foi alterado, mas n\u00e3o o recupera. Complementa as suas c\u00f3pias de seguran\u00e7a e o seu controlo de vers\u00f5es, n\u00e3o os substitui.<\/li>\n<li>N\u00e3o se trata de um antiv\u00edrus nem de um scanner de malware. Procura padr\u00f5es comuns de web shells e de c\u00f3digo ofuscado em ficheiros PHP e JavaScript novos ou modificados (at\u00e9 512 KB cada) e vigia especialmente os ficheiros execut\u00e1veis, incluindo aqueles que ocultam c\u00f3digo PHP por detr\u00e1s de uma extens\u00e3o enganosa. Uma correspond\u00eancia significa \u00abverifique este ficheiro\u00bb, n\u00e3o constitui prova de ataque, e um ficheiro sem correspond\u00eancias n\u00e3o fica demonstrado como seguro.<\/li>\n<li>Os sinais de skimmer de cart\u00f5es em JavaScript s\u00e3o heur\u00edsticos: indicam um motivo para analisar o ficheiro, n\u00e3o comprovam uma viola\u00e7\u00e3o de seguran\u00e7a, e um endere\u00e7o que o c\u00f3digo constr\u00f3i durante a execu\u00e7\u00e3o n\u00e3o \u00e9 detetado. Os endere\u00e7os da pr\u00f3pria loja e das plataformas de pagamento n\u00e3o s\u00e3o considerados como outro site.<\/li>\n<li>N\u00e3o analisa a base de dados.<\/li>\n<li>N\u00e3o envia ficheiros, caminhos nem conte\u00fados para qualquer servi\u00e7o externo. A liga\u00e7\u00e3o ao PrestaWard Integrity transmite o identificador da instala\u00e7\u00e3o e da loja, o dom\u00ednio, a impress\u00e3o digital do pacote instalado e a impress\u00e3o digital resumida de cada instant\u00e2neo, sem dados pessoais dos clientes.<\/li>\n<li>N\u00e3o evita nem bloqueia as altera\u00e7\u00f5es na loja: avisa ap\u00f3s estas ocorrerem.<\/li>\n<li>O rodap\u00e9 dos e-mails do m\u00f3dulo n\u00e3o cont\u00e9m links, endere\u00e7os de contacto nem imagens alojadas fora da sua loja: o log\u00f3tipo da GO ON Agency \u00e9 um ficheiro do pr\u00f3prio m\u00f3dulo que \u00e9 servido a partir da sua loja.<\/li>\n<\/ul>\n<h2>Principais funcionalidades<\/h2>\n<ul>\n<li>Instant\u00e2neos de m\u00f3dulos, gateways de pagamento, temas, n\u00facleo, administra\u00e7\u00e3o e configura\u00e7\u00e3o.<\/li>\n<li>An\u00e1lise de c\u00f3digo suspeito em ficheiros PHP e JavaScript novos ou modificados: procura padr\u00f5es caracter\u00edsticos de web shells e de c\u00f3digo ofuscado e explica o resultado em linguagem clara. Um ficheiro que exceda o limite de tamanho \u00e9 marcado como revisto apenas parcialmente.<\/li>\n<li>Dete\u00e7\u00e3o de imagens disfar\u00e7adas (com cabe\u00e7alho incorreto ou contendo c\u00f3digo PHP) em todas as pastas, incluindo as exclu\u00eddas e, dentro dos limites de tempo e tamanho, nas pastas vol\u00e1teis, como <code>img\/tmp<\/code>.<\/li>\n<li>N\u00edvel de risco em cada altera\u00e7\u00e3o (elevado, requer revis\u00e3o ou baixo), vis\u00edvel e filtr\u00e1vel na revis\u00e3o, inclu\u00eddo no ficheiro CSV de auditoria e nos e-mails de alerta.<\/li>\n<li>As atualiza\u00e7\u00f5es de m\u00f3dulos e temas s\u00e3o agrupadas num \u00fanico elemento, indicando a vers\u00e3o anterior e a nova, e o c\u00f3digo PHP alterado no \u00e2mbito de uma atualiza\u00e7\u00e3o detetada apresenta um risco baixo e n\u00e3o gera e-mails de alerta.<\/li>\n<li>Painel de ficheiros do n\u00facleo: compara-os com a lista oficial de somas de verifica\u00e7\u00e3o da sua vers\u00e3o do PrestaShop, em lotes que podem ser retomados. Apenas \u00e9 descarregada a lista oficial; n\u00e3o \u00e9 enviado qualquer ficheiro. Uma diferen\u00e7a n\u00e3o constitui prova de uma intrus\u00e3o e, caso a lista n\u00e3o esteja dispon\u00edvel, o painel indica que o n\u00facleo n\u00e3o foi verificado.<\/li>\n<li>Auditoria \u00e0 configura\u00e7\u00e3o de seguran\u00e7a com uma pontua\u00e7\u00e3o de 0 a 100 e 14 verifica\u00e7\u00f5es: modo de depura\u00e7\u00e3o, pasta de administra\u00e7\u00e3o, permiss\u00f5es de configura\u00e7\u00e3o, pastas de instala\u00e7\u00e3o, dumps e ficheiros compactados na raiz do site, vers\u00e3o do PHP, HTTPS, erros de PHP vis\u00edveis, refor\u00e7o de seguran\u00e7a do PHP (allow_url_include e expose_php), pastas de controlo de vers\u00f5es e ficheiros de ambiente (.git, .svn, .hg, .env e variantes) na raiz do site e dentro de m\u00f3dulos e temas, chaves de servi\u00e7os web com permiss\u00e3o de escrita em muitos recursos, verifica\u00e7\u00e3o do endere\u00e7o IP do cookie e contas inativas que mant\u00eam o perfil SuperAdmin. No que diz respeito \u00e0s chaves, apenas se contabiliza o n\u00famero de chaves existentes, sem as ler nem as exibir, e, no que diz respeito \u00e0s contas, apenas o n\u00famero de contas existentes, sem nomes nem endere\u00e7os. Cada ponto tem uma explica\u00e7\u00e3o e uma solu\u00e7\u00e3o, e o que n\u00e3o for poss\u00edvel verificar \u00e9 assinalado como \u00abn\u00e3o verificado\u00bb e n\u00e3o contribui para a pontua\u00e7\u00e3o.<\/li>\n<li>Heur\u00edsticas de skimmer de cart\u00f5es no JavaScript novo ou modificado do tema ativo e dos m\u00f3dulos de pagamento: c\u00f3digo que l\u00ea o n\u00famero, a data de validade ou o c\u00f3digo de seguran\u00e7a do cart\u00e3o e os envia para outro site (risco elevado), dados enviados para outro site a partir do c\u00f3digo do pedido ou do pagamento, e c\u00f3digo muito ofuscado junto ao c\u00f3digo do pedido ou do pagamento (ambos requerem revis\u00e3o). Cada descoberta \u00e9 explicada na revis\u00e3o da altera\u00e7\u00e3o.<\/li>\n<li>Or\u00e7amento de volume multim\u00e9dia: para cada pasta (img, upload, uploads e download), conta os ficheiros e os bytes em cada linha de base e compara\u00e7\u00e3o, sem aceder a mais ficheiros nem guardar dados por ficheiro. A sec\u00e7\u00e3o \u00abVerifica\u00e7\u00f5es\u00bb apresenta o total por pasta e o aumento em rela\u00e7\u00e3o \u00e0 linha de base, e a sec\u00e7\u00e3o \u00abConfigura\u00e7\u00e3o\u00bb permite definir um n\u00famero m\u00e1ximo de ficheiros, um tamanho m\u00e1ximo em GB e um aumento m\u00e1ximo em percentagem (50 % por predefini\u00e7\u00e3o; 0 desativa o limite). Qualquer limite excedido \u00e9 apresentado no \u00abResumo\u00bb e no e-mail de alerta.<\/li>\n<li>Limite de monitoriza\u00e7\u00e3o vis\u00edvel: se uma an\u00e1lise atingir o limite de 250 000 nomes lidos nas pastas exclu\u00eddas, o Resumo e as Verifica\u00e7\u00f5es indicam quantas pastas ficam sem monitoriza\u00e7\u00e3o, e o volume multim\u00e9dia \u00e9 assinalado como parcial.<\/li>\n<li>Aviso relativo a uma tarefa cron que nunca foi executada e alerta espec\u00edfico para as pastas e c\u00f3pias de seguran\u00e7a dos m\u00f3dulos que se encontrem na raiz do site.<\/li>\n<li>Janela de manuten\u00e7\u00e3o de 1 a 4 horas: silencia os e-mails de alerta, mas continua a registar as altera\u00e7\u00f5es e, ao encerrar, envia um resumo agrupado com as a\u00e7\u00f5es \u00abAceitar estas altera\u00e7\u00f5es\u00bb ou \u00abDispensar\u00bb. O Snapshot nunca cria uma linha de base por si s\u00f3.<\/li>\n<li>Revis\u00e3o de altera\u00e7\u00f5es preparada para resultados de grande volume: pagina\u00e7\u00e3o por janelas com salto para uma p\u00e1gina, resumo agrupado por pasta, estado e n\u00edvel de risco, e fila pendente na qual cada ficheiro aparece uma vez por linha de base.<\/li>\n<li>Linha de base \u00e1gil em lojas de grande dimens\u00e3o: a publica\u00e7\u00e3o apenas l\u00ea as linhas da sua pr\u00f3pria tarefa e os dados tempor\u00e1rios das tarefas conclu\u00eddas s\u00e3o eliminados em lotes limitados, sem se acumularem.<\/li>\n<li>Compara\u00e7\u00e3o a partir do Back Office ou cron protegido por token.<\/li>\n<li>Alertas por e-mail com resumo, categorias afetadas e liga\u00e7\u00e3o para o painel.<\/li>\n<li>Painel com separadores, incluindo um resumo b\u00e1sico, hist\u00f3rico de tarefas de 90 dias com filtros e detalhes, cobertura, altera\u00e7\u00f5es recentes, registos de atividade e um separador \u00abSuporte\u00bb com o diagn\u00f3stico, sempre em \u00faltimo lugar.<\/li>\n<li>Barra de filtros comum na revis\u00e3o de altera\u00e7\u00f5es e no hist\u00f3rico de tarefas: os seletores est\u00e3o distribu\u00eddos numa grelha de largura igual, a barra de pesquisa e o bot\u00e3o \u00abFiltrar\u00bb encontram-se na mesma linha e as a\u00e7\u00f5es secund\u00e1rias, como exportar a auditoria em CSV, est\u00e3o alinhadas \u00e0 direita.<\/li>\n<li>Aspecto unificado do painel nos quatro m\u00f3dulos PrestaWard: cabe\u00e7alhos de sec\u00e7\u00e3o, cart\u00f5es de formul\u00e1rio com bordas neutras e blocos expans\u00edveis comuns, estat\u00edsticas numa \u00fanica linha e um log\u00f3tipo da GO ON Agency de maiores dimens\u00f5es no cabe\u00e7alho. O bot\u00e3o principal passa a ter uma cor s\u00f3lida da marca, sem gradiente.<\/li>\n<li>E-mails com o cabe\u00e7alho da sua loja: o log\u00f3tipo da loja na parte superior e, no rodap\u00e9, o log\u00f3tipo da GO ON Agency com a assinatura \u00abPrestaWard by GO ON Agency\u00bb. O assunto j\u00e1 n\u00e3o repete o nome da loja.<\/li>\n<li>Tarefas de linha de base e compara\u00e7\u00e3o que s\u00e3o retomadas a partir do progresso guardado.<\/li>\n<li>Exclus\u00f5es configur\u00e1veis com pr\u00e9-visualiza\u00e7\u00e3o e nova linha de base segura.<\/li>\n<li>Vigil\u00e2ncia obrigat\u00f3ria de ficheiros execut\u00e1veis e configura\u00e7\u00f5es sens\u00edveis, mesmo dentro de pastas exclu\u00eddas.<\/li>\n<li>Liga\u00e7\u00e3o autom\u00e1tica ao PrestaWard Integrity, sem bloquear a loja, com recibos assinados e encadeados a partir da impress\u00e3o digital de cada instant\u00e2neo. No ecr\u00e3 do m\u00f3dulo, o bot\u00e3o \u00abSincronizar\u00bb atualiza a liga\u00e7\u00e3o.<\/li>\n<li>Heartbeat e estado do cron para detetar execu\u00e7\u00f5es atrasadas ou com falha.<\/li>\n<li>An\u00e1lise incremental com rehash obrigat\u00f3rio de \u00e2mbitos cr\u00edticos e an\u00e1lise completa peri\u00f3dica.<\/li>\n<li>Classifica\u00e7\u00e3o, filtros, pagina\u00e7\u00e3o, revis\u00e3o de altera\u00e7\u00f5es e exporta\u00e7\u00e3o em CSV das altera\u00e7\u00f5es.<\/li>\n<li>Diff seguro de metadados, reten\u00e7\u00e3o configur\u00e1vel e limpeza protegida.<\/li>\n<li>Painel de suporte da GO ON Agency com um relat\u00f3rio de diagn\u00f3stico descarreg\u00e1vel. \u00c9 descarregado por um funcion\u00e1rio com permiss\u00e3o de edi\u00e7\u00e3o, tendo selecionado uma loja. Cont\u00e9m apenas vers\u00f5es, estados e contadores, n\u00e3o inclui caminhos, conte\u00fado de ficheiros nem credenciais e n\u00e3o \u00e9 enviado automaticamente.<\/li>\n<\/ul>\n<h2>Compatibilidade verificada<\/h2>\n<p>A vers\u00e3o 0.1.8 superou os testes de laborat\u00f3rio no PrestaShop 1.7, 8 e 9 a 15 de outubro de 2026, tanto numa instala\u00e7\u00e3o nova como numa atualiza\u00e7\u00e3o a partir da vers\u00e3o 0.1.7. A vers\u00e3o 0.1.7 superou os testes de laborat\u00f3rio a 13 de outubro de 2026, foi testada com um volume real de 151 440 ficheiros e foi utilizada como \u00abcan\u00e1rio\u00bb numa loja de produ\u00e7\u00e3o real. A vers\u00e3o 0.1.3 superou ainda os testes de instala\u00e7\u00e3o, desinstala\u00e7\u00e3o, reinstala\u00e7\u00e3o, acesso autenticado, testes adversariais de exclus\u00f5es e valida\u00e7\u00e3o criptogr\u00e1fica 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.<\/p>\n<h2>Utiliza\u00e7\u00e3o segura<\/h2>\n<p>Crie uma linha de base apenas quando a loja estiver revista e limpa. Compare ap\u00f3s cada interven\u00e7\u00e3o e n\u00e3o normalize altera\u00e7\u00f5es que ainda n\u00e3o tenha identificado. O m\u00f3dulo complementa, mas n\u00e3o substitui, as c\u00f3pias de seguran\u00e7a nem o controlo de vers\u00f5es.<\/p>\n<h2 id=\"registro-de-cambios\">Registo de altera\u00e7\u00f5es<\/h2>\n<h3>0.1.8<\/h3>\n<ul>\n<li>O painel est\u00e1 dividido em separadores (Resumo, Altera\u00e7\u00f5es, Tarefas, Verifica\u00e7\u00f5es, Configura\u00e7\u00e3o e Registos de atividade) e apenas tem em conta o separador que est\u00e1 aberto, pelo que abre mais rapidamente em lojas de grande dimens\u00e3o. O painel de suporte da GO ON Agency tem a sua pr\u00f3pria aba, \u00abSuporte\u00bb, sempre a \u00faltima, e a sec\u00e7\u00e3o Integrity fica no final de todas as abas.<\/li>\n<li>Resumo m\u00ednimo: a linha de base atual, a \u00faltima compara\u00e7\u00e3o e o seu resultado, uma a\u00e7\u00e3o principal e, no m\u00e1ximo, uma linha com as tarefas em curso ou o alerta mais importante (altera\u00e7\u00f5es pendentes de revis\u00e3o, pastas novas ou j\u00e1 n\u00e3o abrangidas que exigem uma nova linha de base, uma janela de manuten\u00e7\u00e3o por encerrar, um cron que nunca foi executado ou est\u00e1 atrasado, c\u00f3pias de seguran\u00e7a na raiz do site). Se houver mais alertas, a linha acrescenta \u00abe mais N\u00bb.<\/li>\n<li>Separador \u00abTarefas\u00bb: a tarefa em curso \u00e9 apresentada como um cart\u00e3o com as suas fases (descobrir, calcular impress\u00f5es digitais, validar, comparar ou publicar, atesta\u00e7\u00e3o), contador de ficheiros, tempo decorrido, \u00faltima atualiza\u00e7\u00e3o e quem a executa (Back Office, cron ou linha de comandos). Uma tarefa que requer o processo de linha de comandos aparece a \u00e2mbar, com o motivo descrito em linguagem clara e o comando exato acompanhado de um bot\u00e3o para o copiar; no navegador, n\u00e3o disp\u00f5e de bot\u00e3o para retomar.<\/li>\n<li>Hist\u00f3rico de tarefas de 90 dias numa \u00fanica tabela (tipo, origem, funcion\u00e1rio, in\u00edcio, dura\u00e7\u00e3o, estado, resultado e avisos) com filtros por tipo, estado e datas, bem como pagina\u00e7\u00e3o, em vez do limite anterior das \u00faltimas 20 tarefas ou 7 dias. O resultado de uma compara\u00e7\u00e3o remete para as altera\u00e7\u00f5es detetadas e uma verifica\u00e7\u00e3o dos ficheiros do n\u00facleo remete para o separador \u00abVerifica\u00e7\u00f5es\u00bb.<\/li>\n<li>Detalhes de cada tarefa: cronologia, ficheiros, mem\u00f3ria m\u00e1xima, hash da pol\u00edtica, linha de base e compara\u00e7\u00e3o com links, avisos com pastas de exemplo, uma mensagem de erro traduzida caso tenha falhado e download do diagn\u00f3stico. Quando os detalhes dos ficheiros da tarefa conclu\u00edda s\u00e3o eliminados, \u00e9 mantido um resumo (contagens de alertas com pastas de exemplo e pastas n\u00e3o totalmente abrangidas) e a p\u00e1gina indica que os detalhes foram eliminados.<\/li>\n<li>A cobertura por categoria passa para o final da sec\u00e7\u00e3o \u00abAltera\u00e7\u00f5es\u00bb; as verifica\u00e7\u00f5es da loja (c\u00f3pias de seguran\u00e7a, ficheiros do n\u00facleo, auditoria de configura\u00e7\u00e3o e estado dos m\u00f3dulos) ficam agrupadas na sec\u00e7\u00e3o \u00abVerifica\u00e7\u00f5es\u00bb; e os ajustes de e-mail, cron, pol\u00edtica de an\u00e1lise, janela de manuten\u00e7\u00e3o e armazenamento encontram-se na sec\u00e7\u00e3o \u00abConfigura\u00e7\u00e3o\u00bb.<\/li>\n<li>A auditoria \u00e0 configura\u00e7\u00e3o de seguran\u00e7a passa a incluir 14 verifica\u00e7\u00f5es. Novidades: refor\u00e7o de seguran\u00e7a do PHP (allow_url_include e expose_php), pastas de controlo de vers\u00f5es e ficheiros de ambiente (.git, .svn, .hg, .env e variantes) na raiz do site e dentro de m\u00f3dulos e temas, chaves de servi\u00e7o web com permiss\u00e3o de escrita em v\u00e1rios recursos (apenas se conta o n\u00famero de chaves existentes; nunca se l\u00ea nem se mostra uma chave), verifica\u00e7\u00e3o do endere\u00e7o IP do cookie e contas inativas que mant\u00eam o perfil SuperAdmin (apenas s\u00e3o contadas, sem nomes nem endere\u00e7os). Cada um destes casos tem uma explica\u00e7\u00e3o e uma solu\u00e7\u00e3o, e o que n\u00e3o \u00e9 poss\u00edvel ler \u00e9 indicado como \u00abn\u00e3o verificado\u00bb. Os ficheiros .git, .svn e .env na raiz do site passam da verifica\u00e7\u00e3o dos ficheiros de instala\u00e7\u00e3o e das c\u00f3pias para a nova verifica\u00e7\u00e3o, para que n\u00e3o sejam contados duas vezes.<\/li>\n<li>Heur\u00edsticas de skimmer de cart\u00f5es para JavaScript: o c\u00f3digo JavaScript novo ou alterado do tema ativo e dos m\u00f3dulos de pagamento \u00e9 igualmente analisado \u00e0 procura de tr\u00eas sinais: c\u00f3digo que l\u00ea o n\u00famero, a data de validade ou o c\u00f3digo de seguran\u00e7a e envia dados para outro site (risco elevado), dados enviados para outro site a partir do c\u00f3digo do pedido ou do pagamento (requer revis\u00e3o) e c\u00f3digo muito ofuscado junto ao c\u00f3digo do pedido ou do pagamento (requer revis\u00e3o). Os endere\u00e7os da pr\u00f3pria loja, as plataformas de pagamento e, no caso dos sinais mais fracos, os servidores de an\u00e1lise conhecidos n\u00e3o s\u00e3o considerados como outro site. Uma coincid\u00eancia constitui um motivo para analisar o ficheiro, n\u00e3o uma prova de comprometimento, e um endere\u00e7o que o c\u00f3digo constr\u00f3i durante a sua execu\u00e7\u00e3o n\u00e3o \u00e9 detetado.<\/li>\n<li>Or\u00e7amento de volume multim\u00e9dia: cada linha de base e compara\u00e7\u00e3o contabiliza, para cada pasta multim\u00e9dia (img, upload, uploads e download), os ficheiros e os bytes j\u00e1 analisados, sem aceder a mais ficheiros nem guardar dados por ficheiro. A sec\u00e7\u00e3o \u00abVerifica\u00e7\u00f5es\u00bb apresenta o total por pasta, o aumento em rela\u00e7\u00e3o \u00e0 linha de base e se um limite foi excedido. A sec\u00e7\u00e3o \u00abConfigura\u00e7\u00e3o\u00bb tem tr\u00eas limites: n\u00famero m\u00e1ximo de ficheiros, tamanho m\u00e1ximo em GB e aumento m\u00e1ximo em rela\u00e7\u00e3o \u00e0 linha de base em percentagem (50 % por predefini\u00e7\u00e3o; 0 desativa um limite). Um limite ultrapassado aparece no Resumo e no e-mail de alerta, que tamb\u00e9m \u00e9 enviado quando nenhum ficheiro sofreu altera\u00e7\u00f5es suficientes para, por si s\u00f3, provocar essa ultrapassagem.<\/li>\n<li>O limite de monitoriza\u00e7\u00e3o vis\u00edvel: uma an\u00e1lise l\u00ea, no m\u00e1ximo, 250 000 nomes nas pastas exclu\u00eddas, e as pastas subsequentes eram registadas como n\u00e3o abrangidas, mas apenas eram apresentadas na tarefa. Agora, aparecem como uma linha de alerta no Resumo e um aviso em Verifica\u00e7\u00f5es com o n\u00famero de pastas n\u00e3o monitorizadas, e o volume multim\u00e9dia \u00e9 assinalado como parcial se tiver sido medido abaixo desse limite.<\/li>\n<li>Corrige o facto de a liga\u00e7\u00e3o com o Integrity se deteriorar no Back Office no contexto \u00abtodas as lojas\u00bb ou quando uma loja diferente da primeira apresentava o teste de inscri\u00e7\u00e3o: a loja ligada passava para o estado \u00abinscri\u00e7\u00e3o pendente\u00bb e o teste n\u00e3o podia ser assinado. A identidade da instala\u00e7\u00e3o \u00e9 agora lida como uma unidade a partir do \u00e2mbito global (ou da loja onde est\u00e1 guardada) em qualquer contexto; a atualiza\u00e7\u00e3o transfere para o \u00e2mbito global uma identidade guardada numa loja sem a regenerar e, caso n\u00e3o seja poss\u00edvel l\u00ea-la, o estado do Integrity mant\u00e9m-se inalterado.<\/li>\n<li>Novo: barra de filtros comum. A revis\u00e3o de altera\u00e7\u00f5es e o hist\u00f3rico de tarefas utilizam-na: os seletores est\u00e3o distribu\u00eddos numa grelha de largura igual, a barra de pesquisa e o bot\u00e3o \u00abFiltrar\u00bb encontram-se na mesma linha e as a\u00e7\u00f5es secund\u00e1rias, como exportar a auditoria em CSV, ficam alinhadas \u00e0 direita. Anteriormente, os filtros estavam amontoados e os bot\u00f5es sobrepunham-se.<\/li>\n<li>Os e-mails de alerta, de resumo de manuten\u00e7\u00e3o e de teste apresentam o log\u00f3tipo da sua loja no cabe\u00e7alho (com o nome da loja como texto alternativo) e um rodap\u00e9 comum com o log\u00f3tipo da GO ON Agency e a assinatura \u00abPrestaWard by GO ON Agency\u00bb, sem links nem endere\u00e7os de contacto. O log\u00f3tipo do rodap\u00e9 \u00e9 um ficheiro do pr\u00f3prio m\u00f3dulo disponibilizado a partir da sua loja.<\/li>\n<li>Corrige o problema de o assunto dos e-mails conter o nome da loja duas vezes.<\/li>\n<li>Aspecto unificado do painel nos quatro m\u00f3dulos PrestaWard: cabe\u00e7alhos de sec\u00e7\u00e3o, cart\u00f5es de formul\u00e1rio com bordas neutras e blocos expans\u00edveis comuns, estat\u00edsticas numa \u00fanica linha e um log\u00f3tipo da GO ON Agency de maiores dimens\u00f5es no cabe\u00e7alho. O bot\u00e3o principal passa a ter uma cor s\u00f3lida da marca, sem gradiente.<\/li>\n<li>Corrige o facto de, no PrestaShop 9, o tema de administra\u00e7\u00e3o apresentar os separadores sublinhados como liga\u00e7\u00f5es e os t\u00edtulos das sec\u00e7\u00f5es em mai\u00fasculas. Os estilos comuns neutralizam este efeito apenas no painel do PrestaWard, pelo que o PrestaShop 1.7 e 8 mant\u00eam o aspeto anterior.<\/li>\n<li>Corrige o facto de, no PrestaShop 1.7, a folha de estilos do m\u00f3dulo ser rejeitada ao registar-se com o n\u00famero da vers\u00e3o no endere\u00e7o. Agora, o ficheiro \u00e9 verificado e registado sem par\u00e2metros, de modo a que o novo aspeto apare\u00e7a nas vers\u00f5es 1.7, 8 e 9.<\/li>\n<li>Corrige o fato de, n\u00e3o PrestaShop 9, as a\u00e7\u00f5es do painel (os pedidos de tarefas e o download do relat\u00f3rio de suporte, bem como a sincroniza\u00e7\u00e3o com o Integrity) verificarem o token de seguran\u00e7a atrav\u00e9s de um m\u00e9todo que o PrestaShop 9 n\u00e3o utiliza, o que poderia levar \u00e0 sua rejei\u00e7\u00e3o. Agora a valida\u00e7\u00e3o \u00e9 efetuada atrav\u00e9s do servi\u00e7o do PrestaShop 9; no PrestaShop 1.7 e 8, a verifica\u00e7\u00e3o mant\u00e9m-se inalterada.<\/li>\n<li>Quando a liga\u00e7\u00e3o ao Integrity n\u00e3o puder ser atualizada nesse momento, o painel apresenta uma \u00fanica mensagem: a liga\u00e7\u00e3o guardada continua v\u00e1lida e ser\u00e1 tentada novamente de forma autom\u00e1tica. Os r\u00f3tulos de todos os separadores est\u00e3o traduzidos para os nove idiomas.<\/li>\n<li>O cabe\u00e7alho do produto volta a apresentar o log\u00f3tipo da GO ON Agency e a assinatura \u00abPrestaWard by GO ON Agency\u00bb, sem hiperliga\u00e7\u00f5es. O formato da linha de base, os bytes do manifesto e o contrato com a Integrity API n\u00e3o sofrem altera\u00e7\u00f5es; a atualiza\u00e7\u00e3o adiciona colunas (duas \u00e0 tabela de tarefas e as relativas ao volume multim\u00e9dia por pasta, tarefa e linha de base).<\/li>\n<\/ul>\n<h3>0.1.7<\/h3>\n<ul>\n<li>Analisa o c\u00f3digo suspeito dos ficheiros PHP e JavaScript novos ou modificados (at\u00e9 512 KB cada) \u00e0 procura de padr\u00f5es caracter\u00edsticos de web shells e de c\u00f3digo ofuscado, e explica o resultado em linguagem clara. Uma correspond\u00eancia significa \u00abverifique este ficheiro\u00bb, n\u00e3o uma prova de ataque; um ficheiro sem correspond\u00eancias n\u00e3o \u00e9 considerado seguro, e um que exceda o limite \u00e9 marcado como parcialmente verificado.<\/li>\n<li>Deteta imagens disfar\u00e7adas (com cabe\u00e7alho incorreto ou com c\u00f3digo PHP no interior) em todas as pastas: inclu\u00eddas, exclu\u00eddas e, dentro de um limite de tempo e tamanho, pastas vol\u00e1teis como img\/tmp, que a an\u00e1lise ainda n\u00e3o percorreu.<\/li>\n<li>Atribui um n\u00edvel de risco a cada altera\u00e7\u00e3o (elevado, requer revis\u00e3o ou baixo), vis\u00edvel e filtr\u00e1vel na revis\u00e3o de altera\u00e7\u00f5es e inclu\u00eddo no ficheiro CSV de auditoria e nos e-mails de alerta.<\/li>\n<li>Agrupe as atualiza\u00e7\u00f5es de m\u00f3dulos e temas num \u00fanico elemento, indicando a vers\u00e3o anterior e a nova. O c\u00f3digo PHP alterado no \u00e2mbito de uma atualiza\u00e7\u00e3o detetada apresenta baixo risco e j\u00e1 n\u00e3o gera e-mails de alerta. Requer uma linha de base criada com esta vers\u00e3o.<\/li>\n<li>Novo painel de ficheiros do n\u00facleo: compara-os com a lista oficial de somas de verifica\u00e7\u00e3o da sua vers\u00e3o do PrestaShop, em lotes que podem ser retomados. Uma diferen\u00e7a n\u00e3o constitui prova de uma intrus\u00e3o; se a lista n\u00e3o existir ou n\u00e3o puder ser descarregada, o painel indica que o n\u00facleo n\u00e3o foi verificado e nunca o apresenta como tendo sido aprovado.<\/li>\n<li>Nova auditoria \u00e0 configura\u00e7\u00e3o de seguran\u00e7a com uma pontua\u00e7\u00e3o de 0 a 100 (modo de depura\u00e7\u00e3o, pasta de administra\u00e7\u00e3o, permiss\u00f5es de configura\u00e7\u00e3o, pastas de instala\u00e7\u00e3o, c\u00f3pias de seguran\u00e7a e ficheiros compactados na raiz do site, vers\u00e3o do PHP, HTTPS e erros de PHP vis\u00edveis, entre outros aspetos). Cada ponto inclui uma explica\u00e7\u00e3o e uma solu\u00e7\u00e3o; o que n\u00e3o for poss\u00edvel verificar \u00e9 indicado como \u00abn\u00e3o verificado\u00bb e n\u00e3o \u00e9 pontuado.<\/li>\n<li>Avisa de um cron que nunca foi executado e, com um alerta espec\u00edfico, das pastas e c\u00f3pias de seguran\u00e7a dos m\u00f3dulos que se encontrem na raiz do site.<\/li>\n<li>As novas instala\u00e7\u00f5es excluem, por predefini\u00e7\u00e3o, as c\u00f3pias de seguran\u00e7a dos m\u00f3dulos e a pasta de downloads. Nas instala\u00e7\u00f5es existentes, essas exclus\u00f5es s\u00e3o apresentadas no painel e s\u00f3 se aplicam se as ativar, o que cria uma nova linha de base.<\/li>\n<li>Janela de manuten\u00e7\u00e3o de 1 a 4 horas: silencia os e-mails de alerta, mas continua a registar as altera\u00e7\u00f5es e, ao encerrar, envia um resumo agrupado com as a\u00e7\u00f5es \u00abAceitar estas altera\u00e7\u00f5es\u00bb ou \u00abDispensar\u00bb. A op\u00e7\u00e3o \u00abAceitar\u00bb apenas as marca como revistas; o Snapshot nunca cria uma linha de base por si s\u00f3.<\/li>\n<li>Quando a cobertura da an\u00e1lise aumenta entre vers\u00f5es, os ficheiros das pastas que a linha de base anterior n\u00e3o abrangia s\u00e3o reportados como nova cobertura e n\u00e3o como milhares de ficheiros adicionados com alertas cr\u00edticos.<\/li>\n<li>A revis\u00e3o de altera\u00e7\u00f5es funciona com resultados de grande dimens\u00e3o: pagina\u00e7\u00e3o com salto para a p\u00e1gina, resumo agrupado por pasta, estado e risco, e altera\u00e7\u00f5es pendentes de linhas de base anteriores marcadas como substitu\u00eddas.<\/li>\n<li>Reduz o tempo de cria\u00e7\u00e3o da linha de base e de valida\u00e7\u00e3o de diret\u00f3rios em lojas de grande dimens\u00e3o com tarefas anteriores retidas (minutos em vez de dezenas de minutos) e elimina, em lotes limitados, as linhas tempor\u00e1rias das tarefas conclu\u00eddas.<\/li>\n<li>Corrige v\u00e1rios avisos: O Snapshot j\u00e1 n\u00e3o deteta os seus pr\u00f3prios ficheiros como altera\u00e7\u00f5es de alto risco; o ficheiro padr\u00e3o de Prote\u00e7\u00e3o do PrestaShop index.php j\u00e1 n\u00e3o \u00e9 marcado como execut\u00e1vel suspeito; \u00abAltera\u00e7\u00f5es recentes\u00bb apresenta os totais da \u00faltima compara\u00e7\u00e3o e, ap\u00f3s a cria\u00e7\u00e3o de uma linha de base, o painel j\u00e1 n\u00e3o apresenta a compara\u00e7\u00e3o anterior como atual.<\/li>\n<li>O Back Office indica \u00abA processar a partir da consola\u00bb enquanto o processo da consola est\u00e1 a decorrer; atualizar a p\u00e1gina ap\u00f3s clicar num bot\u00e3o j\u00e1 n\u00e3o o reenvia e um in\u00edcio rejeitado indica qual a tarefa que est\u00e1 em curso. O processo da consola apresenta uma breve linha de progresso em vez de uma por cada passo.<\/li>\n<li>Coer\u00eancia do Back Office: o painel de tarefas e os seus bot\u00f5es t\u00eam o mesmo aspeto que o resto do painel, e as mensagens de estado do cron e do registo de atividades s\u00e3o apresentadas no idioma do Back Office nos nove idiomas.<\/li>\n<li>O painel de suporte e diagn\u00f3stico \u00e9 colocado imediatamente antes da sec\u00e7\u00e3o Integrity, tal como nos restantes m\u00f3dulos PrestaWard, e, no contexto \u00abtodas as lojas\u00bb, j\u00e1 n\u00e3o desaparece: indica que \u00e9 necess\u00e1rio selecionar uma loja.<\/li>\n<li>As folhas de estilo s\u00e3o carregadas com a vers\u00e3o do m\u00f3dulo, pelo que o novo aspeto aparece ap\u00f3s a atualiza\u00e7\u00e3o, sem necessidade de esvaziar a cache do navegador.<\/li>\n<li>Sincroniza com o Integrity sempre que abrir o painel, atrav\u00e9s de um pedido em segundo plano que nunca atrasa a p\u00e1gina e, no m\u00e1ximo, uma vez por minuto por loja.<\/li>\n<\/ul>\n<h3>0.1.6<\/h3>\n<ul>\n<li>Um link simb\u00f3lico j\u00e1 n\u00e3o interrompe a verifica\u00e7\u00e3o: \u00e9 ignorado sem ser seguido nem ter a sua impress\u00e3o digital calculada (n\u00e3o fazendo, portanto, parte da linha de base) e \u00e9 indicado no painel, com um alerta quando aponta para fora da loja ou para um destino inexistente.<\/li>\n<li>Descarta, durante a an\u00e1lise, os ficheiros que n\u00e3o podem fazer parte do manifesto.<\/li>\n<li>Nunca percorre as pastas vol\u00e1teis do PrestaShop (img\/tmp e as caches de recursos combinados do tema), que s\u00e3o regeneradas constantemente e podem interromper uma an\u00e1lise com directory_changed.<\/li>\n<li>Aplica as exclus\u00f5es antes de aceder a cada pasta: as pastas exclu\u00eddas deixam de fazer parte da an\u00e1lise de integridade e s\u00e3o apenas monitorizadas \u00e0 procura de ficheiros execut\u00e1veis, numa verifica\u00e7\u00e3o separada que nunca interrompe a tarefa e que est\u00e1 limitada a 250 000 nomes por tarefa.<\/li>\n<li>Volta a analisar at\u00e9 tr\u00eas vezes uma pasta inclu\u00edda que sofre altera\u00e7\u00f5es durante a an\u00e1lise. Se continuar a sofrer altera\u00e7\u00f5es, as pastas do n\u00facleo, da configura\u00e7\u00e3o, da administra\u00e7\u00e3o, dos m\u00f3dulos de gateway de pagamento e do tema ativo interrompem a tarefa como anteriormente; as restantes s\u00e3o ignoradas com um alerta e a tarefa \u00e9 conclu\u00edda.<\/li>\n<li>O cron processa v\u00e1rios lotes consecutivos por chamada (at\u00e9 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\u00e7\u00e3o que considere como falha qualquer resposta diferente de 2xx ir\u00e1 assinal\u00e1-la, como seria de esperar. Esse processo \u00e9 executado manualmente pelo administrador do servidor: o m\u00f3dulo nunca o inicia por si pr\u00f3prio.<\/li>\n<li>Refor\u00e7a o bloqueio que impede execu\u00e7\u00f5es simult\u00e2neas do cron, mesmo que as duas primeiras execu\u00e7\u00f5es coincidam.<\/li>\n<li>Transfira os ficheiros tempor\u00e1rios do manifesto para um diret\u00f3rio privado dentro das lojas, compat\u00edvel com o open_basedir e com a limpeza do diret\u00f3rio tempor\u00e1rio do sistema. No Nginx, \u00e9 aconselh\u00e1vel bloquear o acesso a var\/prestaward-snapshot\/.<\/li>\n<li>Deteta tabelas que n\u00e3o utilizam o InnoDB, apresenta uma mensagem clara nos nove idiomas e converte as tabelas do m\u00f3dulo durante a atualiza\u00e7\u00e3o, registando cada convers\u00e3o.<\/li>\n<li>Adiciona um painel de verifica\u00e7\u00e3o de estado no Back Office, s\u00f3 de leitura: pasta privada de prepara\u00e7\u00e3o, motor de armazenamento da base de dados, frequ\u00eancia do cron e tarefas \u00e0 espera do processo da linha de comandos.<\/li>\n<li>Corrige os totais do relat\u00f3rio de tarefas: as liga\u00e7\u00f5es s\u00e3o contabilizadas separadamente dos ficheiros exclu\u00eddos.<\/li>\n<li>Cada m\u00f3dulo \u00e9 analisado uma \u00fanica vez, no \u00e2mbito dos pagamentos ou no dos m\u00f3dulos, de modo que um m\u00f3dulo que n\u00e3o seja uma gateway de pagamento e que sofra altera\u00e7\u00f5es durante a an\u00e1lise j\u00e1 n\u00e3o interrompe a tarefa.<\/li>\n<li>Se uma tarefa n\u00e3o conseguir abranger totalmente uma pasta, o instant\u00e2neo \u00e9 apresentado com cobertura parcial e a compara\u00e7\u00e3o marca os ficheiros dessas pastas como \u00abn\u00e3o verificados\u00bb, em vez de eliminados.<\/li>\n<li>O painel de tarefas indica as pastas afetadas por cada tipo de alerta e o que fazer, nos nove idiomas. A desinstala\u00e7\u00e3o elimina tamb\u00e9m as tabelas de tarefas.<\/li>\n<li>PrestaShop 9: o processo de linha de comandos e o cron j\u00e1 n\u00e3o apresentam erros ao confundir a pasta \u00abadmin-api\u00bb do n\u00facleo com a do Back Office.<\/li>\n<li>Quando o processo da linha de comandos falha, termina com uma linha de diagn\u00f3stico com um c\u00f3digo de motivo fixo, sem caminhos nem mensagens internas.<\/li>\n<li>Reduz o custo da an\u00e1lise em lojas com muitos ficheiros.<\/li>\n<li>PHP 7.1 e 7.2: a inscri\u00e7\u00e3o, a atesta\u00e7\u00e3o e o heartbeat do Integrity j\u00e1 n\u00e3o s\u00e3o interrompidos devido a um erro de sintaxe.<\/li>\n<li>Corrige a atualiza\u00e7\u00e3o a partir da vers\u00e3o 0.1.5, quando falta a tabela de instant\u00e2neos.<\/li>\n<li>Validado em ambiente de laborat\u00f3rio no PrestaShop 1.7, 8 e 9, incluindo um teste com 300 000 ficheiros que se alteram durante a an\u00e1lise.<\/li>\n<\/ul>\n<h3>0.1.5<\/h3>\n<ul>\n<li>Restaura as tentativas autom\u00e1ticas de atesta\u00e7\u00e3o do Integrity, os heartbeats pendentes e a reten\u00e7\u00e3o ap\u00f3s as respostas do cron ass\u00edncrono. A manuten\u00e7\u00e3o \u00e9 executada em lotes limitados e coordenada separadamente dos avan\u00e7os da verifica\u00e7\u00e3o.<\/li>\n<li>Se uma linha de base anterior inclu\u00eda v\u00e1rias pastas de administra\u00e7\u00e3o, a pr\u00f3xima compara\u00e7\u00e3o pode apresentar entradas adicionais: verifique as diferen\u00e7as e crie uma nova linha de base quando for o caso, sem apagar automaticamente a anterior.<\/li>\n<li>Permite nomes de ficheiros v\u00e1lidos com pontos consecutivos e mant\u00e9m a prote\u00e7\u00e3o contra caminhos inseguros.<\/li>\n<li>Conserva todos os ficheiros das pastas de administra\u00e7\u00e3o adicionais, sem os confundir com os do Back Office ativo.<\/li>\n<li>Guarda o progresso das linhas de base e das compara\u00e7\u00f5es para poder continuar ap\u00f3s fechar o painel ou interromper um pedido.<\/li>\n<li>Processa e verifica ficheiros em lotes; os resultados s\u00f3 s\u00e3o apresentados ap\u00f3s a conclus\u00e3o da tarefa e a \u00faltima linha de base v\u00e1lida \u00e9 mantida caso o processo seja cancelado ou falhe.<\/li>\n<li>Corrige a compara\u00e7\u00e3o dos ficheiros de administra\u00e7\u00e3o com linhas de base anteriores e mant\u00e9m as pastas exclu\u00eddas desmarcadas.<\/li>\n<li>Adiciona um relat\u00f3rio de diagn\u00f3stico descarreg\u00e1vel para ser anexado manualmente a um pedido de suporte, sem enviar dados automaticamente. S\u00f3 pode ser descarregado por um funcion\u00e1rio com permiss\u00e3o de edi\u00e7\u00e3o e com uma loja selecionada, e n\u00e3o inclui caminhos, conte\u00fado de ficheiros nem credenciais.<\/li>\n<li>Completa os estados do painel, os avisos e os modelos de alertas em nove idiomas.<\/li>\n<li>Conserve as corre\u00e7\u00f5es de inscri\u00e7\u00e3o e atualiza\u00e7\u00e3o da vers\u00e3o 0.1.4.<\/li>\n<\/ul>\n<h3>0.1.4<\/h3>\n<ul>\n<li>Corrige erros de inscri\u00e7\u00e3o do Integrity no PrestaShop 9 e mant\u00e9m a inscri\u00e7\u00e3o existente ao atualizar lojas sem a funcionalidade multiloja.<\/li>\n<li>Restaura as tentativas autom\u00e1ticas de inscri\u00e7\u00e3o e regista a causa real das falhas.<\/li>\n<li>Atualiza o design comum do Back Office e adiciona informa\u00e7\u00f5es sobre o tratamento de dados.<\/li>\n<li>Ajusta os formatos de n\u00fameros e de dura\u00e7\u00e3o ao idioma do administrador e traduz os estados e as etiquetas do painel.<\/li>\n<li>Corrige o avan\u00e7o da vers\u00e3o instalada durante a atualiza\u00e7\u00e3o.<\/li>\n<li>Prepara o pacote AFL-3.0 para Addons: remove o verificador de atualiza\u00e7\u00f5es e calcula a identidade a partir dos ficheiros instalados.<\/li>\n<\/ul>\n<h3>0.1.3<\/h3>\n<ul>\n<li>Patch de seguran\u00e7a: a verifica\u00e7\u00e3o abrange agora toda a instala\u00e7\u00e3o do PrestaShop, incluindo as pastas <code>override<\/code>, <code>src<\/code>, <code>vendor<\/code>, <code>upload<\/code>, <code>download<\/code>, <code>img<\/code>, <code>js<\/code> e os ficheiros na raiz.<\/li>\n<li>Patch de seguran\u00e7a: os ficheiros com relev\u00e2ncia para a seguran\u00e7a s\u00e3o sempre monitorizados, independentemente da sua extens\u00e3o.<\/li>\n<li>Patch de seguran\u00e7a: refor\u00e7a a verifica\u00e7\u00e3o das atesta\u00e7\u00f5es remotas e interrompe as tentativas autom\u00e1ticas quando a chave de registo da loja \u00e9 alterada.<\/li>\n<\/ul>\n<h3>0.1.2<\/h3>\n<ul>\n<li>Heartbeat autom\u00e1tico sem cron, ativado de forma n\u00e3o bloqueante pelo tr\u00e1fego normal das lojas.<\/li>\n<li>O pedido do navegador permanece no mesmo dom\u00ednio e as credenciais do Integrity s\u00e3o utilizadas exclusivamente no servidor.<\/li>\n<li>Bloqueio por loja, intervalo de seis horas e tempo de espera ap\u00f3s falhas para evitar duplicados.<\/li>\n<li>A sincroniza\u00e7\u00e3o manual do Integrity tamb\u00e9m atualiza a presen\u00e7a da instala\u00e7\u00e3o.<\/li>\n<\/ul>\n<h3>0.1.1<\/h3>\n<ul>\n<li>Heartbeat da Integrity e monitoriza\u00e7\u00e3o do estado do cron.<\/li>\n<li>Hashing incremental seguro com revis\u00e3o completa peri\u00f3dica e \u00e2mbitos cr\u00edticos sempre recalculados.<\/li>\n<li>Classifica\u00e7\u00e3o de altera\u00e7\u00f5es de rotina, suspeitas e cr\u00edticas.<\/li>\n<li>Filtros, pagina\u00e7\u00e3o, revis\u00e3o com notas e exporta\u00e7\u00e3o CSV de auditoria.<\/li>\n<li>Diferen\u00e7as de metadados sem armazenamento de conte\u00fado e reten\u00e7\u00e3o com limpeza protegida.<\/li>\n<li>Painel de controlo visualmente alinhado com o ecossistema PrestaWard.<\/li>\n<\/ul>\n<h3>0.1.0<\/h3>\n<ul>\n<li>Registo autom\u00e1tico e n\u00e3o bloqueante na PrestaWard Integrity API.<\/li>\n<li>Fila local com novas tentativas para atestar cada manifesto sem enviar ficheiros nem conte\u00fado.<\/li>\n<li>Recibos remotos assinados, encadeados e verificados dentro da loja.<\/li>\n<li>Estado da liga\u00e7\u00e3o e da entrega vis\u00edvel a partir do Painel de Controlo.<\/li>\n<\/ul>\n<h3>0.0.9<\/h3>\n<ul>\n<li>Liga\u00e7\u00f5es de ajuda contextual a partir dos campos de configura\u00e7\u00e3o para o guia p\u00fablico.<\/li>\n<li>Guia p\u00fablico reorganizado por objetivo e campo, com explica\u00e7\u00f5es pr\u00e1ticas sobre cada ajuste.<\/li>\n<li>Foi eliminada da configura\u00e7\u00e3o a apresenta\u00e7\u00e3o redundante da origem das atualiza\u00e7\u00f5es.<\/li>\n<\/ul>\n<h3>0.0.8<\/h3>\n<ul>\n<li>Exclus\u00f5es configur\u00e1veis por nome exato e caminho relativo, com pol\u00edtica imut\u00e1vel e hash SHA-256.<\/li>\n<li>\u00c9 obrigat\u00f3ria a pr\u00e9-visualiza\u00e7\u00e3o antes de ativar uma pol\u00edtica e criar a sua nova linha de base.<\/li>\n<li>Bloqueio de compara\u00e7\u00f5es entre pol\u00edticas diferentes.<\/li>\n<li>Monitoriza\u00e7\u00e3o n\u00e3o configur\u00e1vel de execut\u00e1veis e ficheiros de configura\u00e7\u00e3o dentro de zonas exclu\u00eddas.<\/li>\n<li>Dete\u00e7\u00e3o limitada de cabe\u00e7alhos PHP e interpretadores perigosos em ficheiros com extens\u00f5es enganosas.<\/li>\n<li>Valida\u00e7\u00e3o completa no PrestaShop 1.7, 8 e 9, incluindo um teste misto com 100 000 ficheiros.<\/li>\n<\/ul>\n<h3>0.0.7<\/h3>\n<ul>\n<li>A identifica\u00e7\u00e3o completa do produto e do m\u00f3dulo t\u00e9cnico foi renomeada para PrestaWard Snapshot.<\/li>\n<li>Acesso inicial restrito ao perfil de administrador.<\/li>\n<li>Autoriza\u00e7\u00e3o expl\u00edcita de perfis adicionais atrav\u00e9s das permiss\u00f5es nativas do PrestaShop.<\/li>\n<li>Separa\u00e7\u00e3o de leitura, cria\u00e7\u00e3o de instant\u00e2neos e configura\u00e7\u00e3o atrav\u00e9s das permiss\u00f5es READ, CREATE e UPDATE.<\/li>\n<li>Oculta\u00e7\u00e3o de configura\u00e7\u00f5es, tokens de cron e a\u00e7\u00f5es sens\u00edveis para perfis de leitura apenas.<\/li>\n<li>Documenta\u00e7\u00e3o esclarecida: o m\u00f3dulo supervisiona a integridade, mas n\u00e3o armazena nem restaura c\u00f3pias de seguran\u00e7a.<\/li>\n<\/ul>\n<h3>0.0.6<\/h3>\n<ul>\n<li>Links para produtos, guias, fornecedores e suporte que permanecem ativos ap\u00f3s uma instala\u00e7\u00e3o limpa.<\/li>\n<li>Atualiza\u00e7\u00e3o de metadados a partir do manifesto p\u00fablico.<\/li>\n<li>Log\u00f3tipos da GO ON Agency com links no Back Office e nos e-mails.<\/li>\n<li>URL alternativa vis\u00edvel em e-mails em HTML e em texto simples.<\/li>\n<li>A\u00e7\u00e3o de e-mail de teste e ferramentas de lan\u00e7amento reproduz\u00edveis.<\/li>\n<\/ul>\n<h3>0.0.5<\/h3>\n<ul>\n<li>Carregamento autom\u00e1tico do controlador legado corrigido.<\/li>\n<li>Acesso transferido para a sec\u00e7\u00e3o raiz PrestaWard Snapshot.<\/li>\n<\/ul>\n<h3>0.0.4<\/h3>\n<ul>\n<li>Menu do Back Office clic\u00e1vel.<\/li>\n<li>Valida\u00e7\u00e3o completa do ciclo completo de instala\u00e7\u00e3o e desinstala\u00e7\u00e3o.<\/li>\n<\/ul>\n<h3>0.0.3<\/h3>\n<ul>\n<li>Contexto expl\u00edcito de loja m\u00faltipla.<\/li>\n<li>Compatibilidade com propriedades din\u00e2micas no PHP 8.5.<\/li>\n<\/ul>\n<h3>0.0.2<\/h3>\n<ul>\n<li>Fun\u00e7\u00f5es de autoriza\u00e7\u00e3o e permiss\u00f5es de acesso expl\u00edcitas.<\/li>\n<\/ul>\n<h3>0.0.1<\/h3>\n<ul>\n<li>Linha de base, compara\u00e7\u00e3o, alertas, cron, registos, verifica\u00e7\u00e3o de atualiza\u00e7\u00f5es e painel inicial.<\/li>\n<\/ul>\n<\/article>\n<aside class=\"product-page-aside\">\n<div class=\"product-page-aside__card product-page-aside__card--cta\">\n<h2>Guia e suporte<\/h2>\n<p>Consulte o guia do utilizador para o instalar e configurar corretamente.<\/p>\n<p><a href=\"https:\/\/go-onagency.es\/prestaward-snapshot\/prestaward-snapshot-user-guide.pdf\" target=\"_blank\" rel=\"noopener\">Abrir o guia do utilizador<\/a><\/p>\n<\/p><\/div>\n<div class=\"product-page-aside__card product-page-aside__card--contact\">\n<p class=\"eyebrow\">GO ON Agency<\/p>\n<h2>Precisa de uma implementa\u00e7\u00e3o cuidadosa?<\/h2>\n<p>Podemos ajud\u00e1-lo com a instala\u00e7\u00e3o, a revis\u00e3o de altera\u00e7\u00f5es e a implementa\u00e7\u00e3o.<\/p>\n<p><a class=\"product-page-contact-link\" href=\"mailto:hola@go-onagency.es\">hola@go-onagency.es<\/a><\/p>\n<\/p><\/div>\n<\/aside><\/div>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>M\u00f3dulo PrestaShop PrestaWard Snapshot Controlo de integridade para lojas PrestaShop. Cria uma linha de base de ficheiros, compara altera\u00e7\u00f5es e avisa por e-mail quando algo sens\u00edvel \u00e9 alterado. Distribui\u00e7\u00e3o exclusiva no PrestaShop Marketplace (Addons). Registo de altera\u00e7\u00f5es Guia em PDF Guia de ajuda Capturas de ecr\u00e3 Resumo do estadoHist\u00f3rico de tarefasAuditoria de seguran\u00e7aAlertas e cron [&hellip;]<\/p>\n","protected":false},"author":0,"featured_media":0,"parent":27,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-product-page.php","meta":{"_joinchat":[],"footnotes":""},"class_list":["post-38","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/go-onagency.es\/pt\/wp-json\/wp\/v2\/pages\/38","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/go-onagency.es\/pt\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/go-onagency.es\/pt\/wp-json\/wp\/v2\/types\/page"}],"replies":[{"embeddable":true,"href":"https:\/\/go-onagency.es\/pt\/wp-json\/wp\/v2\/comments?post=38"}],"version-history":[{"count":24,"href":"https:\/\/go-onagency.es\/pt\/wp-json\/wp\/v2\/pages\/38\/revisions"}],"predecessor-version":[{"id":207,"href":"https:\/\/go-onagency.es\/pt\/wp-json\/wp\/v2\/pages\/38\/revisions\/207"}],"up":[{"embeddable":true,"href":"https:\/\/go-onagency.es\/pt\/wp-json\/wp\/v2\/pages\/27"}],"wp:attachment":[{"href":"https:\/\/go-onagency.es\/pt\/wp-json\/wp\/v2\/media?parent=38"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}