72 lines
1.7 KiB
JavaScript
Raw Normal View History

import helmet from 'helmet';
const trusted = [
"'self'"
];
export default function csp() {
return helmet.csp({
defaultSrc: trusted,
scriptSrc: [
"'unsafe-eval'",
"'unsafe-inline'",
'*.google-analytics.com',
'*.gstatic.com',
'https://*.cloudflare.com',
'*.cloudflare.com',
2015-10-08 16:42:24 -07:00
'https://*.gitter.im',
'https://*.cdnjs.com',
'*.cdnjs.com',
'https://*.jsdelivr.com',
'*.jsdelivr.com',
'*.twimg.com',
'https://*.twimg.com'
].concat(trusted),
2015-12-09 11:02:06 -08:00
connectSrc: [
'vimeo.com'
].concat(trusted),
styleSrc: [
"'unsafe-inline'",
'*.gstatic.com',
'*.googleapis.com',
'*.bootstrapcdn.com',
'https://*.bootstrapcdn.com',
'*.cloudflare.com',
'https://*.cloudflare.com'
].concat(trusted),
fontSrc: [
'*.cloudflare.com',
'https://*.cloudflare.com',
'*.bootstrapcdn.com',
'*.googleapis.com',
'*.gstatic.com',
'https://*.bootstrapcdn.com'
].concat(trusted),
imgSrc: [
// allow all input since we have user submitted images for
// public profile
2015-10-16 20:23:24 -07:00
'*',
'data:'
],
mediaSrc: [
'*.bitly.com',
'*.amazonaws.com',
'*.twitter.com'
].concat(trusted),
frameSrc: [
'*.gitter.im',
'*.gitter.im https:',
'*.vimeo.com',
'*.twitter.com',
2015-12-09 11:02:06 -08:00
'*.ghbtns.com',
'*.freecatphotoapp.com'
].concat(trusted),
// set to true if you only want to report errors
reportOnly: false,
// set to true if you want to set all headers
setAllHeaders: false,
// set to true if you want to force buggy CSP in Safari 5
safari5: false
});
}