WP Cerber Security 9.9.3
English version: WP Cerber Security 9.9.3
Em resumo
A versão 9.9.3 foi desenvolvida com foco na correção dos pontos críticos em que você confia quando algo dá errado. Esta versão corrige o comportamento do WP Cerber durante falhas fatais do PHP, resolve o problema de correspondência de intervalos IPv6 nas Listas de Controle de Acesso e faz com que os avisos administrativos sejam exibidos no seu idioma.
Principais destaques
- Falhas fatais do PHP agora são tratadas corretamente. Quando nosso registro de erros estava ativo, uma falha não detectada podia silenciar a página de erro crítico do WordPress e o e-mail do Modo de Recuperação. Corrigimos isso.
- Diagnósticos em que você pode confiar. O erro fatal que realmente encerrou uma solicitação agora chega de forma confiável ao registro do Traffic Inspector, mantendo suas análises forenses precisas.
- Os intervalos IPv6 comportam-se de forma determinística. Intervalos válidos em notação com hífen ou curinga não são mais rejeitados, e os limites dos intervalos agora coincidem de forma inclusiva.
- Avisos administrativos no seu idioma. As mensagens geradas por solicitações em segundo plano não assistidas agora são traduzidas no momento em que você as lê, e não no momento em que foram criadas.
Alterações de segurança
A correspondência de intervalos IPv6 na ACL foi corrigida. Nosso analisador de intervalos comparava os blocos de ordem inferior de um endereço IPv6 mesmo quando os blocos iniciais já haviam estabelecido a ordem correta. Como resultado, alguns intervalos IPv6 perfeitamente válidos, especificados com hífen ou curinga, eram rejeitados ao adicionar uma entrada na Lista de Controle de Acesso ou ao filtrar registros no visualizador de logs de Atividade e Tráfego. Agora, o analisador compara os blocos restantes somente quando ambos os limites compartilham o mesmo bloco inicial, enquanto intervalos invertidos e de comprimento zero ainda são rejeitados. Sua ACL agora aceita todos os intervalos válidos que você inserir.
Os limites dos intervalos IPv6 agora são inclusivos. Corrigimos a comparação de limites para que o primeiro e o último endereço de um intervalo IPv6 sejam tratados como parte do intervalo. As decisões de acesso em todo o intervalo agora são determinísticas, incluindo os endereços de borda.
Experiência de administrador
A mensagem sobre o problema no envio de e-mails agora é traduzida no momento da renderização. Em sites que não estão em inglês, o aviso sobre uma falha no envio de e-mail podia aparecer no idioma da solicitação que falhou, geralmente uma solicitação automatizada, como um relatório agendado ou um alerta acionado por um visitante. A mensagem agora é resolvida no idioma do administrador no momento em que é exibida.
As mensagens de recuperação de configurações agora estão corretamente localizadas. Se as configurações do plugin fossem corrompidas em um site que não estivesse em inglês, o relatório de recuperação era exibido ao administrador sem tradução. Isso também não nos agradava. Agora, a mensagem é reconstruída e traduzida automaticamente quando exibida, de acordo com o idioma do administrador que a lê.
As mensagens do widget de prontidão receberam uma implementação i18n adequada. Várias mensagens no widget não possuíam localização e não podiam ser traduzidas. Essa lacuna foi corrigida.
Melhorias na confiabilidade
Camada de banco de dados mais rápida em caminhos críticos. Reduzimos a sobrecarga de validação de identificadores em nosso construtor de consultas, substituindo verificações baseadas em expressões regulares por uma varredura de caracteres leve. As operações de banco de dados executadas com frequência agora são mais eficientes, e as regras de validação e o comportamento de consulta existentes são totalmente preservados.
Gerenciamento mais inteligente de problemas relatados. O registro que alimenta as notificações de problemas do administrador agora pode reavaliar cada problema imediatamente antes de ele ser exibido, atualizá-lo ou descartá-lo completamente assim que for resolvido. É importante ressaltar que projetamos o fluxo de falha primeiro: um erro durante essa etapa nunca oculta um problema de você.
Testes de compatibilidade. Testamos esta versão 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.0.3.
Correções de erros
Falhas fatais não tratadas não impedem mais a recuperação do WordPress. Esta é a correção mais importante desta versão. Quando o registro de erros estava ativo e ocorria uma exceção não tratada (Throwable), como uma exceção não tratada, um erro de tipo ou um erro de análise, nosso manipulador encerrava o processamento normal de erros fatais do PHP. Isso poderia impedir o WordPress de exibir sua página de erro crítico, enviar o e-mail do Modo de Recuperação ou reverter uma edição de PHP corrompida feita por meio do plugin ou editor de temas integrado. As falhas afetadas também poderiam estar ausentes do arquivo debug.log quando WP_DEBUG_LOG estivesse ativado. Erros não fatais do PHP nunca foram afetados por este bug.
Agora, os erros fatais chegam de forma confiável ao log do Traffic Inspector. Nem todos os erros do PHP estavam sendo registrados. Nossas próprias rotinas de desligamento executam operações de banco de dados e de rede que podem gerar diagnósticos adicionais e, como o PHP mantém apenas um único slot para o último erro, um aviso posterior poderia substituir o erro fatal que encerrou a requisição. Agora, capturamos um instantâneo do último erro logo no início do nosso callback de desligamento, para que nossa própria rotina de manutenção não possa mais sobrescrevê-lo. Em nome da transparência: callbacks de desligamento registrados por outros códigos antes do nosso ainda podem modificar o último erro antes da nossa execução.
A navegação rápida não emite mais avisos do PHP. Parâmetros de consulta com múltiplos valores podiam resultar em comparações escalares de strings no bloco de navegação rápida, gerando avisos Array to string conversion . Dependendo da sua configuração de erros do PHP, esses avisos podiam poluir os logs, aparecer na saída do painel administrativo ou corromper uma resposta AJAX.
Em resumo
A versão 9.9.3 torna as falhas previsíveis e os diagnósticos confiáveis. Erros fatais agora chegam tanto às ferramentas de recuperação do WordPress quanto aos nossos registros, permitindo que a triagem comece com dados precisos. Os intervalos de IPv6 funcionam corretamente na ACL e nos filtros de log. Os avisos administrativos aparecem no seu idioma, exatamente quando e onde você os lê.