WP Cerber Security 9.9.5
English version: WP Cerber Security 9.9.5
Esta versão visa reduzir a distância entre um evento de segurança e a configuração que o causou. Reconstruímos a forma como o WP Cerber vincula o registro de atividades à configuração exata que motivou uma decisão, corrigimos duas falhas na interface administrativa e reforçamos a segurança da forma como o plugin lida com URLs na área administrativa. Nos bastidores, também passamos a armazenar os avisos administrativos como dados estruturados e validados, em vez de HTML renderizado.
Principais destaques
Os links nas explicações do registro de atividades agora levam você ao local correto. Quando a decisão do WP Cerber foi baseada em uma política de função, o link abre a guia da função correta e destaca o campo exato, em vez de direcioná-lo para uma página de configurações onde você precisa procurá-lo manualmente.
Ao clicar nesse link, a configuração de destino é centralizada na área visível, de modo que a barra de administração do WordPress não a cobre mais e você pode ver as configurações vizinhas para obter contexto.
A seção de Transporte de Correio não exibe mais HTML bruto onde deveria haver um link.
Experiência de administrador
Agora é possível acessar as configurações de política de função. Antes, um link criado para uma configuração continha um único valor no fragmento da URL com dois significados conflitantes: o campo a ser destacado ou a guia a ser aberta. Uma configuração de política de função nunca podia ser destacada, porque o espaço necessário para o campo já estava ocupado pelo ponteiro da guia. Agora, o fragmento contém duas declarações independentes, cada uma nomeando um elemento e utilizável sem a outra. Na prática, um link explicativo [Gerenciar], como o mostrado abaixo, torna-se um atalho direto para a guia da função correspondente, com o campo responsável piscando.
A rolagem e os links em flash centralizam a configuração. A navegação nativa por fragmentos alinha o destino com a parte superior da janela do navegador, exatamente onde a barra de administração se encontra. Agora, centralizamos a linha de configuração que a contém quando a página está pronta e novamente após o término do carregamento da janela. A segunda etapa corrige o realinhamento nativo e as alterações de layout causadas pelo carregamento tardio do conteúdo. Os contêineres de campo fora das linhas de configuração permanecem inalterados e, quando o navegador indica uma preferência prefers-reduced-motion , a rolagem ocorre sem animação.
Alterações de segurança
Um mecanismo de escape de URLs mais rigoroso para a saída administrativa. Substituímos o filtro e a pilha de expressões regulares dentro de crb_escape_url() por uma verificação explícita do formato da URL. A função auxiliar agora aceita URLs relativas à raiz que começam com uma única barra, além dos formatos HTTP(S), FTP(S) e mailto que já eram suportados. URLs relativas ao protocolo, variantes de caminho de rede com barra invertida, esquemas não suportados e outros formatos relativos continuam sendo rejeitados.
Também deixamos de remover aspas, colchetes angulares e crases de URLs aceitas. A remoção do antigo mecanismo de sanitização tem uma vantagem visível: caminhos de URL não ASCII permanecem intactos. O UTF-8 inválido não converte mais o resultado escapado em um valor de atributo vazio, porque o mecanismo de escape agora substitui esses bytes.
Melhorias na confiabilidade
Os anúncios administrativos são armazenados como dados estruturados, não como marcação. Introduzimos o UI Spec, uma forma serializada rigorosa da representação interna da UI Factory do WP Cerber. Em vez de persistir o HTML renderizado, o plugin agora armazena um documento versionado e validado que é reinserido em uma árvore de UI no momento da renderização e passado para o renderizador ativo.
Correções de erros
Apenas o primeiro link de configuração no registro de atividades funcionou. Na página do registro de atividades, quando várias explicações eram exibidas para eventos envolvendo o mesmo usuário, e a regra por trás da decisão do WP Cerber era baseada em função, apenas o primeiro link rolava até o alvo e o destacava. Todos os links subsequentes abriam a página de configurações baseada em função sem levar à configuração desejada.
HTML bruto na seção de Transporte de E-mail. A seção exibia a marcação literal do link "Disponível na versão profissional do WP Cerber" em vez de renderizar um link. O aviso havia sido anexado como uma âncora HTML à descrição da seção, e as descrições de seção são escapadas pelo renderizador de configurações antes da exibição. Agora, as descrições de seção permanecem em texto simples e o requisito PRO é representado separadamente como um link de seção estruturado renderizado pelo UI Factory. O escape para descrições é preservado e os links em nível de seção são renderizados com segurança.
Resumo
A triagem ficou mais rápida com esta atualização. Uma explicação do registro de atividades agora leva diretamente à configuração que motivou a decisão, centralizada e destacada na tela. A seção de Transporte de E-mail exibe corretamente o aviso PRO e os links administrativos são tratados com regras mais rigorosas. Os anúncios são armazenados como estruturas validadas, portanto, dados corrompidos são exibidos de forma visível, em vez de serem exibidos silenciosamente.
Compatibilidade
Esta versão foi testada com PHP 7.4.33, 8.0.30, 8.1.34, 8.2.33, 8.3.33, 8.4.24 e 8.5.9, e com WordPress 5.8.14, 6.6.6, 6.7.6, 6.8.7, 6.9.6 e 7.1.
