forked from Vero-protocol/vero-guardian-dashboard
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsecurity-headers.js
More file actions
32 lines (28 loc) · 1004 Bytes
/
Copy pathsecurity-headers.js
File metadata and controls
32 lines (28 loc) · 1004 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
const DEFAULT_HORIZON_URL = 'https://horizon-testnet.stellar.org';
const DEFAULT_SOROBAN_RPC_URL = 'https://soroban-testnet.stellar.org';
function getSecurityHeaders() {
const connectSrcOrigins = Array.from(
new Set(
[
"'self'",
process.env.NEXT_PUBLIC_HORIZON_URL || DEFAULT_HORIZON_URL,
process.env.NEXT_PUBLIC_SOROBAN_RPC_URL || DEFAULT_SOROBAN_RPC_URL,
].filter(Boolean)
)
);
const contentSecurityPolicy = [
"default-src 'self'",
"script-src 'self' 'unsafe-inline'",
"style-src 'self' 'unsafe-inline'",
"img-src 'self' data:",
`connect-src ${connectSrcOrigins.join(' ')}`,
"frame-ancestors 'none'",
].join('; ');
return [
{ key: 'Content-Security-Policy', value: contentSecurityPolicy },
{ key: 'X-Content-Type-Options', value: 'nosniff' },
{ key: 'X-Frame-Options', value: 'DENY' },
{ key: 'Referrer-Policy', value: 'strict-origin-when-cross-origin' },
];
}
module.exports = { getSecurityHeaders };