csp, hooks, sentry
This commit is contained in:
parent
a902adaf43
commit
4199070dfd
|
@ -1,19 +1,19 @@
|
||||||
// https://gist.github.com/acoyfellow/d8e86979c66ebea25e1643594e38be73, Rodney Lab
|
// https://gist.github.com/acoyfellow/d8e86979c66ebea25e1643594e38be73, Rodney Lab
|
||||||
|
|
||||||
import {
|
import {
|
||||||
PUBLIC_SITE_DOMAIN,
|
URARA_SITE_DOMAIN,
|
||||||
PUBLIC_SENTRY_KEY,
|
PUBLIC_SENTRY_KEY,
|
||||||
PUBLIC_SENTRY_PROJECT_ID,
|
PUBLIC_SENTRY_PROJECT_ID,
|
||||||
PUBLIC_SENTRY_ORG_ID,
|
PUBLIC_SENTRY_ORG_ID,
|
||||||
PUBLIC_WORKER_URL
|
PUBLIC_WORKER_URL,
|
||||||
|
URARA_SITE_PROTOCOL
|
||||||
} from '$env/static/public'
|
} from '$env/static/public'
|
||||||
|
|
||||||
const rootDomain = PUBLIC_SITE_DOMAIN // or your server IP for dev
|
console.log(`${URARA_SITE_PROTOCOL}${URARA_SITE_DOMAIN}`)
|
||||||
|
|
||||||
const directives = {
|
const directives = {
|
||||||
'base-uri': ["'self'"],
|
'base-uri': ["'self'"],
|
||||||
'child-src': ["'self'", 'blob:'],
|
'child-src': ["'self'", 'blob:'],
|
||||||
// 'connect-src': ["'self'", 'ws://localhost:*'],
|
|
||||||
'connect-src': [
|
'connect-src': [
|
||||||
"'self'",
|
"'self'",
|
||||||
'ws://localhost:*',
|
'ws://localhost:*',
|
||||||
|
@ -21,10 +21,10 @@ const directives = {
|
||||||
'https://hcaptcha.com',
|
'https://hcaptcha.com',
|
||||||
'https://*.hcaptcha.com',
|
'https://*.hcaptcha.com',
|
||||||
'https://*.cartocdn.com',
|
'https://*.cartocdn.com',
|
||||||
PUBLIC_SITE_DOMAIN,
|
URARA_SITE_DOMAIN,
|
||||||
PUBLIC_WORKER_URL
|
PUBLIC_WORKER_URL
|
||||||
],
|
],
|
||||||
'img-src': ["'self'", 'data:', 'https://images.unsplash.com'],
|
'img-src': ["'self'", 'data:', 'https://images.unsplash.com', `${URARA_SITE_PROTOCOL}${URARA_SITE_DOMAIN}`],
|
||||||
'font-src': ["'self'", 'data:'],
|
'font-src': ["'self'", 'data:'],
|
||||||
'form-action': ["'self'"],
|
'form-action': ["'self'"],
|
||||||
'frame-ancestors': ["'self'"],
|
'frame-ancestors': ["'self'"],
|
||||||
|
@ -45,8 +45,8 @@ const directives = {
|
||||||
'style-src': ["'self'", "'unsafe-inline'", 'https://hcaptcha.com', 'https://*.hcaptcha.com'],
|
'style-src': ["'self'", "'unsafe-inline'", 'https://hcaptcha.com', 'https://*.hcaptcha.com'],
|
||||||
'default-src': [
|
'default-src': [
|
||||||
"'self'",
|
"'self'",
|
||||||
PUBLIC_SITE_DOMAIN,
|
URARA_SITE_DOMAIN,
|
||||||
`ws://${PUBLIC_SITE_DOMAIN}`,
|
`ws://${URARA_SITE_DOMAIN}`,
|
||||||
// 'https://*.google.com',
|
// 'https://*.google.com',
|
||||||
// 'https://*.googleapis.com',
|
// 'https://*.googleapis.com',
|
||||||
// 'https://*.firebase.com',
|
// 'https://*.firebase.com',
|
||||||
|
|
|
@ -4,7 +4,7 @@ import { site } from '$lib/config/site'
|
||||||
|
|
||||||
import { handleErrorWithSentry, sentryHandle } from '@sentry/sveltekit'
|
import { handleErrorWithSentry, sentryHandle } from '@sentry/sveltekit'
|
||||||
import * as Sentry from '@sentry/sveltekit'
|
import * as Sentry from '@sentry/sveltekit'
|
||||||
import { PUBLIC_SENTRY_KEY, PUBLIC_SENTRY_PROJECT_ID, PUBLIC_SENTRY_ORG_ID } from '$env/static/public'
|
import { PUBLIC_SENTRY_KEY, PUBLIC_SENTRY_PROJECT_ID, PUBLIC_SENTRY_ORG_ID, URARA_SITE_DOMAIN } from '$env/static/public'
|
||||||
|
|
||||||
import { csp } from './cspDirectives'
|
import { csp } from './cspDirectives'
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ export const cspHandle: Handle = async ({ event, resolve }) => {
|
||||||
const headers = {
|
const headers = {
|
||||||
'X-Frame-Options': 'SAMEORIGIN',
|
'X-Frame-Options': 'SAMEORIGIN',
|
||||||
'Referrer-Policy': 'no-referrer',
|
'Referrer-Policy': 'no-referrer',
|
||||||
'Permissions-Policy': `accelerometer=(), autoplay=(), camera=(), document-domain=(self, 'js-profiling'), encrypted-media=(), fullscreen=(self ${PUBLIC_SITE_DOMAIN}), gyroscope=(), interest-cohort=(), magnetometer=(), microphone=(), midi=(), payment=(), picture-in-picture=(), publickey-credentials-get=(), sync-xhr=(), usb=(), xr-spatial-tracking=(), geolocation=()`,
|
'Permissions-Policy': `accelerometer=(), autoplay=(), camera=(), document-domain=(self, 'js-profiling'), encrypted-media=(), fullscreen=(self ${URARA_SITE_DOMAIN}), gyroscope=(), interest-cohort=(), magnetometer=(), microphone=(), midi=(), payment=(), picture-in-picture=(), publickey-credentials-get=(), sync-xhr=(), usb=(), xr-spatial-tracking=(), geolocation=()`,
|
||||||
'X-Content-Type-Options': 'nosniff',
|
'X-Content-Type-Options': 'nosniff',
|
||||||
// 'Content-Security-Policy-Report-Only': csp,
|
// 'Content-Security-Policy-Report-Only': csp,
|
||||||
'Content-Security-Policy': csp,
|
'Content-Security-Policy': csp,
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
export const cookies = {
|
||||||
|
NECESSARY: 'mattmor-necessary',
|
||||||
|
ANALYTICAL: 'mattmor-analytical',
|
||||||
|
TARGETING: 'mattmor-targeting',
|
||||||
|
VISITED: 'mattmor-marketing-website-visited'
|
||||||
|
};
|
||||||
|
export const COPYRIGHT_ENTITY = '\u00a9'; // (c)
|
||||||
|
export const H_ELLIPSIS_ENTITY = '\u2026'; // ...
|
||||||
|
export const VERTICAL_LINE_ENTITY = '\u007c'; // |
|
Loading…
Reference in New Issue