﻿1
00:00:01,090 --> 00:00:02,080
‫Instrutor:

2
00:00:02,080 --> 00:00:04,810
‫Então, neste vídeo, vamos usar outro

3
00:00:04,810 --> 00:00:06,320
‫pacote NPM para definir

4
00:00:06,320 --> 00:00:09,523
‫alguns cabeçalhos http de segurança realmente importantes.

5
00:00:11,150 --> 00:00:12,570
‫Portanto, para definir

6
00:00:12,570 --> 00:00:15,530
‫esses cabeçalhos, usaremos novamente uma função de middleware

7
00:00:15,530 --> 00:00:17,993
‫que virá novamente de um pacote NPM.

8
00:00:18,890 --> 00:00:21,050
‫Então, vamos instalar

9
00:00:21,050 --> 00:00:23,293
‫isso e se chama capacete.

10
00:00:24,400 --> 00:00:27,800
‫Portanto, este é um tipo de padrão no desenvolvimento expresso,

11
00:00:27,800 --> 00:00:29,980
‫então todos que estão construindo

12
00:00:29,980 --> 00:00:33,550
‫um aplicativo expresso devem sempre usar este pacote de capacete, certo.

13
00:00:33,550 --> 00:00:35,950
‫Porque, novamente, o express não usa

14
00:00:35,950 --> 00:00:39,030
‫todas as práticas recomendadas de segurança prontas para usar.

15
00:00:39,030 --> 00:00:42,730
‫Basicamente, precisamos ir em frente e

16
00:00:42,730 --> 00:00:45,453
‫colocá-los lá manualmente.

17
00:00:46,960 --> 00:00:49,283
‫Portanto,

18
00:00:51,060 --> 00:00:54,613
‫const, capacete, requer, capacete.

19
00:00:55,790 --> 00:00:59,253
‫Ok, vamos fazer isso logo depois desse, e esse não

20
00:01:00,720 --> 00:01:02,920
‫poderia ser mais fácil, tudo

21
00:01:02,920 --> 00:01:05,170
‫o que precisamos fazer é chamar o

22
00:01:06,420 --> 00:01:08,810
‫capacete aqui e então isso irá produzir

23
00:01:08,810 --> 00:01:12,520
‫a função de middleware que deve ser colocada bem aqui, ok.

24
00:01:12,520 --> 00:01:13,870
‫Então, no app. usar, sempre

25
00:01:13,870 --> 00:01:17,220
‫precisamos de uma função, não de uma chamada de função, certo?

26
00:01:17,220 --> 00:01:19,380
‫Então, aqui estamos chamando esta

27
00:01:19,380 --> 00:01:21,860
‫função e ela, por sua vez, retornará

28
00:01:21,860 --> 00:01:25,450
‫uma função que ficará parada aqui até ser chamada, certo.

29
00:01:25,450 --> 00:01:28,660
‫E é melhor usar este pacote de capacete no

30
00:01:28,660 --> 00:01:30,550
‫início da pilha de middleware

31
00:01:30,550 --> 00:01:34,180
‫para que esses cabeçalhos tenham a certeza de serem configurados, certo.

32
00:01:34,180 --> 00:01:36,370
‫Portanto, não coloque isso em algum

33
00:01:36,370 --> 00:01:37,620
‫lugar no

34
00:01:37,620 --> 00:01:40,770
‫final, coloque logo no início e, na verdade, vamos

35
00:01:40,770 --> 00:01:45,550
‫colocá-lo realmente aqui no início como o primeiro de todos os middlewares, ok.

36
00:01:45,550 --> 00:01:48,380
‫E estamos realmente aumentando nossa pilha de middleware aqui, vamos

37
00:01:48,380 --> 00:01:50,713
‫apenas dar um nome a cada um deles.

38
00:01:52,180 --> 00:01:57,053
‫Então, segurança, HTP, cabeçalhos.

39
00:01:57,053 --> 00:01:59,810
‫Isso, claro, não é correto.

40
00:01:59,810 --> 00:02:01,490
‫e também vamos usar um VRP.

41
00:02:01,490 --> 00:02:03,223
‫Defina o HTP de segurança,

42
00:02:06,170 --> 00:02:07,180
‫limite as

43
00:02:08,790 --> 00:02:10,363
‫solicitações da mesma API.

44
00:02:11,310 --> 00:02:13,160
‫Agora nós aqui temos este também.

45
00:02:15,370 --> 00:02:18,893
‫Portanto, este é basicamente o log de desenvolvimento.

46
00:02:21,570 --> 00:02:24,953
‫Então, este aqui é chamado de analisador de corpo.

47
00:02:27,470 --> 00:02:28,740
‫Então, basicamente,

48
00:02:30,660 --> 00:02:35,323
‫ler dados do corpo em req. corpo.

49
00:02:36,880 --> 00:02:37,760
‫OK.

50
00:02:37,760 --> 00:02:39,360
‫E, na verdade, já

51
00:02:39,360 --> 00:02:41,560
‫que estamos aqui, vamos implementar aquilo

52
00:02:41,560 --> 00:02:43,030
‫que mencionei na

53
00:02:43,030 --> 00:02:45,630
‫aula teórica onde disse que podemos limitar a

54
00:02:45,630 --> 00:02:47,940
‫quantidade de dados que chegam no corpo.

55
00:02:47,940 --> 00:02:49,430
‫Lembre-se disso?

56
00:02:49,430 --> 00:02:52,740
‫Então, aqui no json, podemos realmente especificar algumas

57
00:02:52,740 --> 00:02:55,170
‫opções e para isso como sempre

58
00:02:55,170 --> 00:02:56,800
‫passamos um objeto.

59
00:02:56,800 --> 00:02:58,023
‫E então

60
00:02:59,230 --> 00:03:04,150
‫podemos dizer, limite e vamos limitar a 10 kilobytes, certo.

61
00:03:04,150 --> 00:03:06,290
‫E então o pacote

62
00:03:06,290 --> 00:03:08,570
‫entenderá que analisará esta string

63
00:03:08,570 --> 00:03:10,920
‫aqui em dados significativos, certo?

64
00:03:10,920 --> 00:03:14,760
‫E agora, quando temos um corpo maior que 10

65
00:03:14,760 --> 00:03:17,943
‫kilobytes, basicamente não será aceito, certo?

66
00:03:19,010 --> 00:03:20,040
‫Então, finalmente,

67
00:03:20,040 --> 00:03:21,400
‫este aqui é

68
00:03:23,490 --> 00:03:25,780
‫para servir arquivos estáticos, ok.

69
00:03:25,780 --> 00:03:29,373
‫E isso é finalmente como, algum middleware de teste aqui.

70
00:03:30,380 --> 00:03:33,450
‫Vamos apenas mantê-lo aqui porque às vezes é útil.

71
00:03:33,450 --> 00:03:36,330
‫Por exemplo, para dar uma olhada nos cabeçalhos

72
00:03:36,330 --> 00:03:38,690
‫aqui como fizemos naquela época.

73
00:03:38,690 --> 00:03:41,540
‫Ok, então esse é o capacete.

74
00:03:41,540 --> 00:03:42,820
‫Agora vamos fazer uma

75
00:03:42,820 --> 00:03:45,519
‫solicitação e, em seguida, dar uma olhada em todos os

76
00:03:45,519 --> 00:03:47,333
‫cabeçalhos que ela nos fornece basicamente.

77
00:03:48,960 --> 00:03:50,840
‫Então, vamos enviar aqui e

78
00:03:50,840 --> 00:03:53,250
‫agora você verá que temos 14 cabeçalhos.

79
00:03:53,250 --> 00:03:55,370
‫Isso é muito mais do que

80
00:03:55,370 --> 00:03:58,150
‫antes e os novos são basicamente este aqui,

81
00:03:58,150 --> 00:03:59,803
‫controle de pré-busca desativado.

82
00:04:00,840 --> 00:04:03,363
‫nós temos essa segurança de transporte estrita,

83
00:04:04,560 --> 00:04:06,980
‫você tem as opções de download,

84
00:04:06,980 --> 00:04:10,150
‫também há esse aqui para proteção XSS e então

85
00:04:10,150 --> 00:04:12,470
‫o navegador entende esses cabeçalhos

86
00:04:12,470 --> 00:04:15,750
‫e pode então agir sobre eles basicamente, tudo bem.

87
00:04:15,750 --> 00:04:17,180
‫Vamos dar uma olhada

88
00:04:17,180 --> 00:04:18,913
‫rápida na documentação do capacete.

89
00:04:23,020 --> 00:04:24,520
‫Então, é claro,

90
00:04:24,520 --> 00:04:26,680
‫como sempre, isso está no GitHub.

91
00:04:26,680 --> 00:04:29,910
‫E aqui você vê basicamente todos os

92
00:04:29,910 --> 00:04:31,160
‫middlewares incluídos.

93
00:04:31,160 --> 00:04:32,730
‫Porque o capacete é

94
00:04:32,730 --> 00:04:34,843
‫na verdade uma coleção de vários middlewares.

95
00:04:37,090 --> 00:04:39,130
‫Então, isso é realmente o que está escrito aqui.

96
00:04:39,130 --> 00:04:42,040
‫Portanto, é uma coleção de 14 middlewares

97
00:04:42,040 --> 00:04:44,890
‫menores e alguns deles estão ativos

98
00:04:44,890 --> 00:04:46,470
‫por padrão,

99
00:04:46,470 --> 00:04:48,620
‫sendo estes aqui marcados assim.

100
00:04:48,620 --> 00:04:49,800
‫E se você

101
00:04:49,800 --> 00:04:52,490
‫estiver interessado, você pode dar uma olhada em todos

102
00:04:52,490 --> 00:04:54,800
‫esses outros e então se você achar que

103
00:04:54,800 --> 00:04:57,770
‫precisa de alguns deles, você pode, é claro, ativá-los especificamente.

104
00:04:57,770 --> 00:05:00,330
‫e também informa como

105
00:05:00,330 --> 00:05:03,390
‫fazer isso aqui na documentação, certo.

106
00:05:03,390 --> 00:05:05,630
‫Mas estou bem apenas com as

107
00:05:06,510 --> 00:05:08,520
‫opções padrão E então ...

108
00:05:08,520 --> 00:05:10,630
‫Bem, isso foi realmente muito

109
00:05:10,630 --> 00:05:13,773
‫simples, então vamos passar para o próximo vídeo.

