Files
payload/templates/ecommerce/csp.js
2024-03-14 23:53:47 -04:00

37 lines
899 B
JavaScript

const policies = {
'child-src': ["'self'"],
'connect-src': [
"'self'",
'https://checkout.stripe.com',
'https://api.stripe.com',
'https://maps.googleapis.com',
],
'default-src': ["'self'"],
'font-src': ["'self'"],
'frame-src': [
"'self'",
'https://checkout.stripe.com',
'https://js.stripe.com',
'https://hooks.stripe.com',
],
'img-src': ["'self'", 'https://*.stripe.com', 'https://raw.githubusercontent.com'],
'script-src': [
"'self'",
"'unsafe-inline'",
"'unsafe-eval'",
'https://checkout.stripe.com',
'https://js.stripe.com',
'https://maps.googleapis.com',
],
'style-src': ["'self'", "'unsafe-inline'", 'https://fonts.googleapis.com'],
}
module.exports = Object.entries(policies)
.map(([key, value]) => {
if (Array.isArray(value)) {
return `${key} ${value.join(' ')}`
}
return ''
})
.join('; ')