‫Instrutor:
‫Então, neste vídeo, vamos usar outro
‫pacote NPM para definir
‫alguns cabeçalhos http de segurança realmente importantes.
‫Portanto, para definir
‫esses cabeçalhos, usaremos novamente uma função de middleware
‫que virá novamente de um pacote NPM.
‫Então, vamos instalar
‫isso e se chama capacete.
‫Portanto, este é um tipo de padrão no desenvolvimento expresso,
‫então todos que estão construindo
‫um aplicativo expresso devem sempre usar este pacote de capacete, certo.
‫Porque, novamente, o express não usa
‫todas as práticas recomendadas de segurança prontas para usar.
‫Basicamente, precisamos ir em frente e
‫colocá-los lá manualmente.
‫Portanto,
‫const, capacete, requer, capacete.
‫Ok, vamos fazer isso logo depois desse, e esse não
‫poderia ser mais fácil, tudo
‫o que precisamos fazer é chamar o
‫capacete aqui e então isso irá produzir
‫a função de middleware que deve ser colocada bem aqui, ok.
‫Então, no app. usar, sempre
‫precisamos de uma função, não de uma chamada de função, certo?
‫Então, aqui estamos chamando esta
‫função e ela, por sua vez, retornará
‫uma função que ficará parada aqui até ser chamada, certo.
‫E é melhor usar este pacote de capacete no
‫início da pilha de middleware
‫para que esses cabeçalhos tenham a certeza de serem configurados, certo.
‫Portanto, não coloque isso em algum
‫lugar no
‫final, coloque logo no início e, na verdade, vamos
‫colocá-lo realmente aqui no início como o primeiro de todos os middlewares, ok.
‫E estamos realmente aumentando nossa pilha de middleware aqui, vamos
‫apenas dar um nome a cada um deles.
‫Então, segurança, HTP, cabeçalhos.
‫Isso, claro, não é correto.
‫e também vamos usar um VRP.
‫Defina o HTP de segurança,
‫limite as
‫solicitações da mesma API.
‫Agora nós aqui temos este também.
‫Portanto, este é basicamente o log de desenvolvimento.
‫Então, este aqui é chamado de analisador de corpo.
‫Então, basicamente,
‫ler dados do corpo em req. corpo.
‫OK.
‫E, na verdade, já
‫que estamos aqui, vamos implementar aquilo
‫que mencionei na
‫aula teórica onde disse que podemos limitar a
‫quantidade de dados que chegam no corpo.
‫Lembre-se disso?
‫Então, aqui no json, podemos realmente especificar algumas
‫opções e para isso como sempre
‫passamos um objeto.
‫E então
‫podemos dizer, limite e vamos limitar a 10 kilobytes, certo.
‫E então o pacote
‫entenderá que analisará esta string
‫aqui em dados significativos, certo?
‫E agora, quando temos um corpo maior que 10
‫kilobytes, basicamente não será aceito, certo?
‫Então, finalmente,
‫este aqui é
‫para servir arquivos estáticos, ok.
‫E isso é finalmente como, algum middleware de teste aqui.
‫Vamos apenas mantê-lo aqui porque às vezes é útil.
‫Por exemplo, para dar uma olhada nos cabeçalhos
‫aqui como fizemos naquela época.
‫Ok, então esse é o capacete.
‫Agora vamos fazer uma
‫solicitação e, em seguida, dar uma olhada em todos os
‫cabeçalhos que ela nos fornece basicamente.
‫Então, vamos enviar aqui e
‫agora você verá que temos 14 cabeçalhos.
‫Isso é muito mais do que
‫antes e os novos são basicamente este aqui,
‫controle de pré-busca desativado.
‫nós temos essa segurança de transporte estrita,
‫você tem as opções de download,
‫também há esse aqui para proteção XSS e então
‫o navegador entende esses cabeçalhos
‫e pode então agir sobre eles basicamente, tudo bem.
‫Vamos dar uma olhada
‫rápida na documentação do capacete.
‫Então, é claro,
‫como sempre, isso está no GitHub.
‫E aqui você vê basicamente todos os
‫middlewares incluídos.
‫Porque o capacete é
‫na verdade uma coleção de vários middlewares.
‫Então, isso é realmente o que está escrito aqui.
‫Portanto, é uma coleção de 14 middlewares
‫menores e alguns deles estão ativos
‫por padrão,
‫sendo estes aqui marcados assim.
‫E se você
‫estiver interessado, você pode dar uma olhada em todos
‫esses outros e então se você achar que
‫precisa de alguns deles, você pode, é claro, ativá-los especificamente.
‫e também informa como
‫fazer isso aqui na documentação, certo.
‫Mas estou bem apenas com as
‫opções padrão E então ...
‫Bem, isso foi realmente muito
‫simples, então vamos passar para o próximo vídeo.