Nesse Post vamos utilizar um ESP8266 e criar uma conexão web bidirecional utilizando Websocket.
O Websocket é um protocolo de comunicação leve e bidirecional, ou seja, é possível tanto o servidor quanto o cliente enviar e receber mensagens. A única desvantagem é que o protocolo não garante a entrega dos pacotes de mensagens.
Após alguns dias da divulgação da vulnerabilidade Java no Log4JShell, foi agora divulgado uma vulnerabilidade dentro do spring framework.
A vulnerabilidade no Spring permite a execução remota da aplicação já está sendo chamado de Spring4Shell.
Basicamente a vulnerabilidade explora uma classe que permite criar um arquivo jsp que permite acesso ao invasor.
O problema é explorado a partir de combinações com Jdk 9 ou superior, Tomcat 10.0.19, 9.0.61, 8.5.78 ou inferior, Spring framework 5.3.0 até 5.3.17 ou 5.2.0 até 5.2.19.
Uma observação é que o ataque somente é explorado em pacotes war, os pacotes jar estão fora dessa vulnerabilidade.
Recall.
Para corrigir essa vulnerabilidade, principalmente quem tem a combinação dita no tópico anterior é seguir algumas das alterações.
Fazer downgrade para versão Jdk 8, apesar de não ser muito recomendado.
Fazer upgrade do Spring framework para as versões 5.2.20 ou 5.3.18 ou superior, o que pode ser recomendado para todos independentemente da combinação de stack.
Atualizar o Tomcat para versões diferentes de 10.0.20, 9.0.62, ou 8.5.78 para quem usa Tomcat como servidor de aplicação.
Outra opção mas um pouco invasiva é adicionar anotações de proteção nos códigos ou gerar pacotes jar no lugar dos pacotes war.
Conclusão.
Para evitar qualquer tipo de dor de cabeça nas suas aplicações, verifique se existe a combinação de stack e faça as correções, mas seria interessante independente da stack, fazer a atualização do Spring framework.
Nesse Post vamos utilizar a placa ESP8266 para criar um servidor web e enviar um formulário web para o servidor ESP8266 e exibir um gráfico utilizando Python e matplotlib.
Vamos demonstrar um pequeno teste capturando informações coletados do formulário web e exibindo um gráfico em tempo real utilizando Python e matplotlib.
Dia 22 de Março de 2022 foi o lançamento da nova versão do Java, o Java 18.
A nova versão do JDK 18 vem com melhorias no desempenho, segurança e estabilidade.
A Oracle continua com o compromisso de entregas sequenciais de 6 em 6 meses.
A versão 18 contou com a colaboração de desenvolvedores Oracle e membros da comunidade OpenJdk para esta entrega.
O Java 18 passou para o estágio de Release Candidate, e a versão Java 17 como LTS, com suporte por 8 anos pela Oracle.
Novidades.
Vamos apresentar as novidades em melhorias e ferramentas que foram introduzidas na versão Java 18.
Jep 400 define o encode UTF-8 como padrão da Api Java.
Jep 408 implementa um servidor web simples, por meio de linha de comandos é possível iniciar um simples servidor web com arquivos estáticos.
Jep 416 Core Reflection com Method Handles para manipular o mecanismo subjacente para reflexão.
Jep 418 define uma interface de provedor de serviço (SPI) para resolução de nomes e endereço de host.
Jep 413 introduz a tag @snippet para o Doclet padrão do JavaDoc para simplificar a inclusão de código-fonte.
Conclusão.
Apesar de ser uma versão mais recente do Java, deve se atentar que se trata de uma versão release candidate com suporte de apenas 6 meses, a melhor opção seria o Java 17 com suporte lts de 8 anos.