﻿1
00:00:01,090 --> 00:00:02,080
‫Istruttore: Quindi,

2
00:00:02,080 --> 00:00:04,810
‫in questo video, useremo un altro pacchetto

3
00:00:04,810 --> 00:00:06,320
‫NPM per impostare un

4
00:00:06,320 --> 00:00:09,523
‫paio di intestazioni http di sicurezza davvero importanti.

5
00:00:11,150 --> 00:00:12,570
‫Quindi, per impostare

6
00:00:12,570 --> 00:00:15,530
‫queste intestazioni utilizzeremo ancora una volta una funzione middleware

7
00:00:15,530 --> 00:00:17,993
‫che verrà nuovamente da un pacchetto NPM.

8
00:00:18,890 --> 00:00:21,050
‫Quindi, installiamolo

9
00:00:21,050 --> 00:00:23,293
‫e si chiama casco.

10
00:00:24,400 --> 00:00:27,800
‫Quindi questo è una specie di standard nello sviluppo espresso,

11
00:00:27,800 --> 00:00:29,980
‫quindi tutti coloro che stanno

12
00:00:29,980 --> 00:00:33,550
‫creando un'app express dovrebbero sempre utilizzare questo pacchetto di caschi, d'accordo.

13
00:00:33,550 --> 00:00:35,950
‫Perché ancora una volta, express non

14
00:00:35,950 --> 00:00:39,030
‫utilizza tutte le migliori pratiche di sicurezza predefinite.

15
00:00:39,030 --> 00:00:42,730
‫E quindi fondamentalmente dobbiamo andare avanti manualmente

16
00:00:42,730 --> 00:00:45,453
‫e metterli lì, ok.

17
00:00:46,960 --> 00:00:49,283
‫Quindi,

18
00:00:51,060 --> 00:00:54,613
‫const, casco, richiedi, casco.

19
00:00:55,790 --> 00:00:59,253
‫Ok, quindi facciamo questo subito dopo questo, e questo non

20
00:01:00,720 --> 00:01:02,920
‫potrebbe essere più semplice, tutto

21
00:01:02,920 --> 00:01:05,170
‫ciò che dobbiamo fare è chiamare

22
00:01:06,420 --> 00:01:08,810
‫helmet qui e così questo produrrà

23
00:01:08,810 --> 00:01:12,520
‫la funzione middleware che dovrebbe essere messa proprio qui, ok.

24
00:01:12,520 --> 00:01:13,870
‫Quindi nell'app. uso, abbiamo

25
00:01:13,870 --> 00:01:17,220
‫sempre bisogno di una funzione, non di una chiamata di funzione, giusto?

26
00:01:17,220 --> 00:01:19,380
‫Quindi qui chiamiamo questa funzione

27
00:01:19,380 --> 00:01:21,860
‫e questa a sua volta restituirà una

28
00:01:21,860 --> 00:01:25,450
‫funzione che rimarrà qui finché non verrà chiamata, va bene.

29
00:01:25,450 --> 00:01:28,660
‫Ed è meglio usare questo pacchetto casco all'inizio dello

30
00:01:28,660 --> 00:01:30,550
‫stack del middleware in modo

31
00:01:30,550 --> 00:01:34,180
‫che queste intestazioni siano davvero sicure di essere impostate, ok.

32
00:01:34,180 --> 00:01:36,370
‫Quindi non metterlo come da

33
00:01:36,370 --> 00:01:37,620
‫qualche parte

34
00:01:37,620 --> 00:01:40,770
‫alla fine, mettilo proprio all'inizio e in realtà

35
00:01:40,770 --> 00:01:45,550
‫mettiamolo qui all'inizio come il primo di tutti i middleware, ok.

36
00:01:45,550 --> 00:01:48,380
‫E stiamo davvero facendo crescere il nostro stack di middleware

37
00:01:48,380 --> 00:01:50,713
‫qui, diamo a ciascuno di loro un nome.

38
00:01:52,180 --> 00:01:57,053
‫Quindi, sicurezza, HTP, intestazioni.

39
00:01:57,053 --> 00:01:59,810
‫Questo ovviamente non è corretto.

40
00:01:59,810 --> 00:02:01,490
‫e anche noi usiamo effettivamente un VRP.

41
00:02:01,490 --> 00:02:03,223
‫Imposta HTP di sicurezza, limita

42
00:02:06,170 --> 00:02:07,180
‫le

43
00:02:08,790 --> 00:02:10,363
‫richieste dalla stessa API.

44
00:02:11,310 --> 00:02:13,160
‫Ora qui abbiamo anche questo.

45
00:02:15,370 --> 00:02:18,893
‫Quindi questo è fondamentalmente il registro dello sviluppo.

46
00:02:21,570 --> 00:02:24,953
‫Allora questo qui è chiamato il parser del corpo.

47
00:02:27,470 --> 00:02:28,740
‫Quindi fondamentalmente leggendo

48
00:02:30,660 --> 00:02:35,323
‫i dati dal corpo in req. corpo.

49
00:02:36,880 --> 00:02:37,760
‫Va bene.

50
00:02:37,760 --> 00:02:39,360
‫E in effetti, visto che

51
00:02:39,360 --> 00:02:41,560
‫siamo qui, implementiamo quella cosa che ho

52
00:02:41,560 --> 00:02:43,030
‫menzionato nella lezione

53
00:02:43,030 --> 00:02:45,630
‫di teoria in cui ho detto che possiamo limitare

54
00:02:45,630 --> 00:02:47,940
‫la quantità di dati che arrivano nel corpo.

55
00:02:47,940 --> 00:02:49,430
‫Ricordati che?

56
00:02:49,430 --> 00:02:52,740
‫Quindi, qui in json, possiamo effettivamente specificare alcune

57
00:02:52,740 --> 00:02:55,170
‫opzioni e per questo come sempre

58
00:02:55,170 --> 00:02:56,800
‫passiamo un oggetto.

59
00:02:56,800 --> 00:02:58,023
‫E quindi

60
00:02:59,230 --> 00:03:04,150
‫qui possiamo dire, limitiamolo e limitiamolo a 10 kilobyte, ok.

61
00:03:04,150 --> 00:03:06,290
‫E quindi il pacchetto

62
00:03:06,290 --> 00:03:08,570
‫capirà che analizzerà questa stringa

63
00:03:08,570 --> 00:03:10,920
‫qui in dati significativi, va bene?

64
00:03:10,920 --> 00:03:14,760
‫E quindi ora, quando abbiamo un corpo più grande di

65
00:03:14,760 --> 00:03:17,943
‫10 kilobyte, praticamente non sarà accettato, ok?

66
00:03:19,010 --> 00:03:20,040
‫Quindi, finalmente,

67
00:03:20,040 --> 00:03:21,400
‫questo qui è

68
00:03:23,490 --> 00:03:25,780
‫per servire file statici, ok.

69
00:03:25,780 --> 00:03:29,373
‫E questo è finalmente proprio come, alcuni middleware di prova qui.

70
00:03:30,380 --> 00:03:33,450
‫Teniamolo qui perché a volte è utile.

71
00:03:33,450 --> 00:03:36,330
‫Ad esempio, per dare un'occhiata alle intestazioni

72
00:03:36,330 --> 00:03:38,690
‫qui come facevamo allora.

73
00:03:38,690 --> 00:03:41,540
‫Ok, allora quello è il casco.

74
00:03:41,540 --> 00:03:42,820
‫Facciamo ora una

75
00:03:42,820 --> 00:03:45,519
‫richiesta e poi diamo un'occhiata a tutte le

76
00:03:45,519 --> 00:03:47,333
‫intestazioni che ci dà fondamentalmente.

77
00:03:48,960 --> 00:03:50,840
‫Quindi mandiamolo qui e

78
00:03:50,840 --> 00:03:53,250
‫ora vedete che abbiamo 14 intestazioni.

79
00:03:53,250 --> 00:03:55,370
‫Quindi è molto più di prima

80
00:03:55,370 --> 00:03:58,150
‫e quindi i nuovi sono fondamentalmente questo qui,

81
00:03:58,150 --> 00:03:59,803
‫precarica il controllo.

82
00:04:00,840 --> 00:04:03,363
‫abbiamo questa rigorosa sicurezza di trasporto, hai

83
00:04:04,560 --> 00:04:06,980
‫le opzioni di download, c'è anche questa

84
00:04:06,980 --> 00:04:10,150
‫qui per la protezione XSS e quindi il browser

85
00:04:10,150 --> 00:04:12,470
‫capisce queste intestazioni e può

86
00:04:12,470 --> 00:04:15,750
‫quindi agire su di esse in pratica, va bene.

87
00:04:15,750 --> 00:04:17,180
‫Diamo subito un'occhiata

88
00:04:17,180 --> 00:04:18,913
‫alla documentazione del casco.

89
00:04:23,020 --> 00:04:24,520
‫Quindi, ovviamente,

90
00:04:24,520 --> 00:04:26,680
‫come sempre è su GitHub.

91
00:04:26,680 --> 00:04:29,910
‫E quindi qui puoi vedere praticamente tutti i

92
00:04:29,910 --> 00:04:31,160
‫middleware inclusi.

93
00:04:31,160 --> 00:04:32,730
‫Perché il casco è

94
00:04:32,730 --> 00:04:34,843
‫in realtà una raccolta di più middleware.

95
00:04:37,090 --> 00:04:39,130
‫Quindi questo è in realtà ciò che si dice qui.

96
00:04:39,130 --> 00:04:42,040
‫Quindi è una raccolta di 14 middleware più

97
00:04:42,040 --> 00:04:44,890
‫piccoli e alcuni di essi sono attivi per

98
00:04:44,890 --> 00:04:46,470
‫impostazione predefinita, che sono

99
00:04:46,470 --> 00:04:48,620
‫questi qui contrassegnati in questo modo.

100
00:04:48,620 --> 00:04:49,800
‫Quindi, se sei

101
00:04:49,800 --> 00:04:52,490
‫interessato, puoi dare un'occhiata a tutti questi altri

102
00:04:52,490 --> 00:04:54,800
‫e poi, se pensi di aver bisogno

103
00:04:54,800 --> 00:04:57,770
‫di alcuni di loro, puoi ovviamente attivarlo in modo specifico.

104
00:04:57,770 --> 00:05:00,330
‫e ti dice come

105
00:05:00,330 --> 00:05:03,390
‫farlo anche qui nella documentazione, ok.

106
00:05:03,390 --> 00:05:05,630
‫Ma sto bene solo con le

107
00:05:06,510 --> 00:05:08,520
‫opzioni predefinite E quindi...

108
00:05:08,520 --> 00:05:10,630
‫In realtà era molto

109
00:05:10,630 --> 00:05:13,773
‫semplice, quindi passiamo rapidamente al prossimo video.

