﻿1
00:00:01,090 --> 00:00:02,080
‫Kursleiter:

2
00:00:02,080 --> 00:00:04,810
‫In diesem Video werden wir also

3
00:00:04,810 --> 00:00:06,320
‫ein weiteres NPM-Paket verwenden,

4
00:00:06,320 --> 00:00:09,523
‫um ein paar wirklich wichtige Sicherheits-HTTP-Header zu setzen.

5
00:00:11,150 --> 00:00:12,570
‫Um diese Header

6
00:00:12,570 --> 00:00:15,530
‫zu setzen, verwenden wir also wieder eine Middleware-Funktion,

7
00:00:15,530 --> 00:00:17,993
‫die wiederum aus einem NPM-Paket stammt.

8
00:00:18,890 --> 00:00:21,050
‫Also, lass uns das

9
00:00:21,050 --> 00:00:23,293
‫installieren und es heißt Helm.

10
00:00:24,400 --> 00:00:27,800
‫Dies ist also eine Art Standard in der

11
00:00:27,800 --> 00:00:29,980
‫Express-Entwicklung, sodass jeder, der

12
00:00:29,980 --> 00:00:33,550
‫eine Express-App erstellt, immer dieses Helmpaket verwenden sollte.

13
00:00:33,550 --> 00:00:35,950
‫Denn auch hier verwendet Express

14
00:00:35,950 --> 00:00:39,030
‫nicht alle bewährten Sicherheitspraktiken von Haus aus.

15
00:00:39,030 --> 00:00:42,730
‫Also müssen wir im Grunde manuell vorgehen

16
00:00:42,730 --> 00:00:45,453
‫und sie dort ablegen, okay.

17
00:00:46,960 --> 00:00:49,283
‫Also,

18
00:00:51,060 --> 00:00:54,613
‫const, Helm, fordern, Helm.

19
00:00:55,790 --> 00:00:59,253
‫Okay, also lass uns das gleich nach diesem machen, und

20
00:01:00,720 --> 00:01:02,920
‫dieses könnte nicht einfacher sein,

21
00:01:02,920 --> 00:01:05,170
‫alles was wir tun müssen, ist

22
00:01:06,420 --> 00:01:08,810
‫hier Helm zu nennen und das wird

23
00:01:08,810 --> 00:01:12,520
‫dann die Middleware-Funktion erzeugen, die direkt hier platziert werden sollte, okay.

24
00:01:12,520 --> 00:01:13,870
‫Also in App. verwenden,

25
00:01:13,870 --> 00:01:17,220
‫wir brauchen immer eine Funktion, keinen Funktionsaufruf, oder?

26
00:01:17,220 --> 00:01:19,380
‫Hier rufen wir also diese Funktion

27
00:01:19,380 --> 00:01:21,860
‫auf und dies wird dann wiederum eine

28
00:01:21,860 --> 00:01:25,450
‫Funktion zurückgeben, die hier sitzt, bis sie aufgerufen wird, in Ordnung.

29
00:01:25,450 --> 00:01:28,660
‫Und es ist am besten, dieses Helmpaket

30
00:01:28,660 --> 00:01:30,550
‫früh im Middleware-Stack zu

31
00:01:30,550 --> 00:01:34,180
‫verwenden, damit diese Header wirklich sicher gesetzt sind, okay.

32
00:01:34,180 --> 00:01:36,370
‫Also nicht wie irgendwo

33
00:01:36,370 --> 00:01:37,620
‫am

34
00:01:37,620 --> 00:01:40,770
‫Ende, sondern gleich am Anfang und

35
00:01:40,770 --> 00:01:45,550
‫eigentlich hier am Anfang als erste aller Middlewares, okay.

36
00:01:45,550 --> 00:01:48,380
‫Und wir bauen unseren Middleware-Stack hier wirklich aus. Geben

37
00:01:48,380 --> 00:01:50,713
‫wir einfach jedem von ihnen einen Namen.

38
00:01:52,180 --> 00:01:57,053
‫Also Sicherheit, HTP, Header.

39
00:01:57,053 --> 00:01:59,810
‫Das stimmt natürlich nicht.

40
00:01:59,810 --> 00:02:01,490
‫und auch lassen Sie uns tatsächlich ein VRP verwenden.

41
00:02:01,490 --> 00:02:03,223
‫Sicherheits-HTP festlegen, Anfragen

42
00:02:06,170 --> 00:02:07,180
‫von

43
00:02:08,790 --> 00:02:10,363
‫derselben API begrenzen.

44
00:02:11,310 --> 00:02:13,160
‫Jetzt haben wir hier auch dieses hier.

45
00:02:15,370 --> 00:02:18,893
‫Das ist also im Grunde Entwicklungsprotokollierung.

46
00:02:21,570 --> 00:02:24,953
‫Dann wird dieser hier als Body-Parser bezeichnet.

47
00:02:27,470 --> 00:02:28,740
‫Also im Grunde das

48
00:02:30,660 --> 00:02:35,323
‫Einlesen von Daten aus dem Körper in req. Karosserie.

49
00:02:36,880 --> 00:02:37,760
‫Okay.

50
00:02:37,760 --> 00:02:39,360
‫Und tatsächlich, da wir hier

51
00:02:39,360 --> 00:02:41,560
‫sind, implementieren wir das, was ich in

52
00:02:41,560 --> 00:02:43,030
‫der Theorievorlesung erwähnt

53
00:02:43,030 --> 00:02:45,630
‫habe, in der ich sagte, dass wir die

54
00:02:45,630 --> 00:02:47,940
‫Datenmenge begrenzen können, die in den Körper gelangt.

55
00:02:47,940 --> 00:02:49,430
‫Erinnere dich daran?

56
00:02:49,430 --> 00:02:52,740
‫Hier in json können wir also tatsächlich einige Optionen

57
00:02:52,740 --> 00:02:55,170
‫angeben und dafür übergeben wir wie

58
00:02:55,170 --> 00:02:56,800
‫immer ein Objekt.

59
00:02:56,800 --> 00:02:58,023
‫Also können

60
00:02:59,230 --> 00:03:04,150
‫wir hier sagen, begrenzen und begrenzen wir es auf 10 Kilobyte, okay.

61
00:03:04,150 --> 00:03:06,290
‫Und damit das Paket es

62
00:03:06,290 --> 00:03:08,570
‫dann versteht, wird es diesen String

63
00:03:08,570 --> 00:03:10,920
‫hier in aussagekräftige Daten zerlegen, in Ordnung?

64
00:03:10,920 --> 00:03:14,760
‫Und wenn wir jetzt einen Körper haben, der größer als 10 Kilobyte

65
00:03:14,760 --> 00:03:17,943
‫ist, wird er im Grunde nicht akzeptiert, in Ordnung?

66
00:03:19,010 --> 00:03:20,040
‫Und schließlich

67
00:03:20,040 --> 00:03:21,400
‫dient dieser hier

68
00:03:23,490 --> 00:03:25,780
‫zum Bereitstellen statischer Dateien, okay.

69
00:03:25,780 --> 00:03:29,373
‫Und das ist schließlich nur so, wie hier einige Test-Middleware.

70
00:03:30,380 --> 00:03:33,450
‫Behalten wir es einfach hier, weil es manchmal nützlich ist.

71
00:03:33,450 --> 00:03:36,330
‫Zum Beispiel, um sich hier wie

72
00:03:36,330 --> 00:03:38,690
‫damals die Überschriften anzuschauen.

73
00:03:38,690 --> 00:03:41,540
‫Okay, das ist der Helm.

74
00:03:41,540 --> 00:03:42,820
‫Lassen Sie uns jetzt

75
00:03:42,820 --> 00:03:45,519
‫eine Anfrage stellen und uns dann alle Header ansehen,

76
00:03:45,519 --> 00:03:47,333
‫die uns im Grunde genommen werden.

77
00:03:48,960 --> 00:03:50,840
‫Senden wir es hierher und

78
00:03:50,840 --> 00:03:53,250
‫dann sehen Sie, dass wir 14 Header haben.

79
00:03:53,250 --> 00:03:55,370
‫Das ist also viel mehr als

80
00:03:55,370 --> 00:03:58,150
‫zuvor und die Neuen sind im Grunde diese

81
00:03:58,150 --> 00:03:59,803
‫hier, Prefetch-Steuerung ausgeschaltet.

82
00:04:00,840 --> 00:04:03,363
‫Wir haben diese strenge Transportsicherheit, Sie

83
00:04:04,560 --> 00:04:06,980
‫haben die Download-Optionen, es gibt auch

84
00:04:06,980 --> 00:04:10,150
‫diese hier für XSS-Schutz und so versteht der

85
00:04:10,150 --> 00:04:12,470
‫Browser diese Header und

86
00:04:12,470 --> 00:04:15,750
‫kann dann im Grunde darauf reagieren, in Ordnung.

87
00:04:15,750 --> 00:04:17,180
‫Werfen wir noch schnell

88
00:04:17,180 --> 00:04:18,913
‫einen Blick in die Helmdokumentation.

89
00:04:23,020 --> 00:04:24,520
‫Also natürlich

90
00:04:24,520 --> 00:04:26,680
‫wie immer auf GitHub.

91
00:04:26,680 --> 00:04:29,910
‫Hier sehen Sie also im Grunde alle Middlewares,

92
00:04:29,910 --> 00:04:31,160
‫die enthalten sind.

93
00:04:31,160 --> 00:04:32,730
‫Denn Helm ist

94
00:04:32,730 --> 00:04:34,843
‫tatsächlich eine Sammlung mehrerer Middlewares.

95
00:04:37,090 --> 00:04:39,130
‫So steht es hier also eigentlich.

96
00:04:39,130 --> 00:04:42,040
‫Es handelt sich also um eine Sammlung von

97
00:04:42,040 --> 00:04:44,890
‫14 kleineren Middlewares und einige von ihnen

98
00:04:44,890 --> 00:04:46,470
‫sind standardmäßig aktiv,

99
00:04:46,470 --> 00:04:48,620
‫diese hier sind so markiert.

100
00:04:48,620 --> 00:04:49,800
‫Wenn Sie also

101
00:04:49,800 --> 00:04:52,490
‫interessiert sind, können Sie sich all diese anderen

102
00:04:52,490 --> 00:04:54,800
‫ansehen und wenn Sie glauben, einige

103
00:04:54,800 --> 00:04:57,770
‫davon zu benötigen, können Sie sie natürlich gezielt einschalten.

104
00:04:57,770 --> 00:05:00,330
‫und es sagt dir auch hier

105
00:05:00,330 --> 00:05:03,390
‫oben in der Dokumentation, wie das geht, okay.

106
00:05:03,390 --> 00:05:05,630
‫Aber mir geht es nur mit

107
00:05:06,510 --> 00:05:08,520
‫den Standardoptionen und so...

108
00:05:08,520 --> 00:05:10,630
‫Das war eigentlich ganz einfach

109
00:05:10,630 --> 00:05:13,773
‫und so kommen wir nun schnell zum nächsten Video.

