1
- using Microsoft . AspNetCore . Builder ;
2
-
3
- namespace AspNetCoreRazorMultiClients ;
1
+ namespace AspNetCoreRazorMultiClients ;
4
2
5
3
public static class SecurityHeadersDefinitions
6
4
{
@@ -19,40 +17,27 @@ public static HeaderPolicyCollection GetHeaderPolicyCollection(bool isDev)
19
17
builder . AddBlockAllMixedContent ( ) ;
20
18
builder . AddImgSrc ( ) . Self ( ) . From ( "data:" ) ;
21
19
builder . AddFormAction ( ) . Self ( ) ;
22
- builder . AddFontSrc ( ) . Self ( ) ;
23
- builder . AddStyleSrc ( ) . Self ( ) ; // .UnsafeInline();
24
- builder . AddBaseUri ( ) . Self ( ) ;
25
- builder . AddScriptSrc ( ) . UnsafeInline ( ) . WithNonce ( ) ;
20
+ builder . AddFontSrc ( ) . Self ( ) ;
21
+ builder . AddBaseUri ( ) . Self ( ) ;
26
22
builder . AddFrameAncestors ( ) . None ( ) ;
23
+
24
+ builder . AddStyleSrc ( ) . WithNonce ( ) . UnsafeInline ( ) ;
25
+
26
+ builder . AddScriptSrc ( )
27
+ . WithNonce ( )
28
+ . WithHash256 ( "j7OoGArf6XW6YY4cAyS3riSSvrJRqpSi1fOF9vQ5SrI=" )
29
+ . UnsafeInline ( ) ;
27
30
// builder.AddCustomDirective("require-trusted-types-for", "'script'");
28
31
} )
29
32
. RemoveServerHeader ( )
30
- . AddPermissionsPolicy ( builder =>
31
- {
32
- builder . AddAccelerometer ( ) . None ( ) ;
33
- builder . AddAutoplay ( ) . None ( ) ;
34
- builder . AddCamera ( ) . None ( ) ;
35
- builder . AddEncryptedMedia ( ) . None ( ) ;
36
- builder . AddFullscreen ( ) . All ( ) ;
37
- builder . AddGeolocation ( ) . None ( ) ;
38
- builder . AddGyroscope ( ) . None ( ) ;
39
- builder . AddMagnetometer ( ) . None ( ) ;
40
- builder . AddMicrophone ( ) . None ( ) ;
41
- builder . AddMidi ( ) . None ( ) ;
42
- builder . AddPayment ( ) . None ( ) ;
43
- builder . AddPictureInPicture ( ) . None ( ) ;
44
- builder . AddSyncXHR ( ) . None ( ) ;
45
- builder . AddUsb ( ) . None ( ) ;
46
- } ) ;
33
+ . AddPermissionsPolicyWithDefaultSecureDirectives ( ) ;
47
34
48
35
if ( ! isDev )
49
36
{
50
37
// maxage = one year in seconds
51
38
policy . AddStrictTransportSecurityMaxAgeIncludeSubDomains ( maxAgeInSeconds : 60 * 60 * 24 * 365 ) ;
52
39
}
53
40
54
- policy . ApplyDocumentHeadersToAllResponses ( ) ;
55
-
56
41
return policy ;
57
42
}
58
43
}
0 commit comments