refactor: 🔒 Improve security of frontend with nonce, CSP and security headers

This commit is contained in:
Jesse Wierzbinski 2024-05-04 17:33:51 -10:00
parent 8eaccb31c2
commit 74425cd62e
No known key found for this signature in database
3 changed files with 22 additions and 2 deletions

BIN
bun.lockb

Binary file not shown.

View file

@ -7,10 +7,29 @@ export default defineNuxtConfig({
"nuxt-headlessui",
"@nuxt/fonts",
"nuxt-icon",
"@vee-validate/nuxt",
//"nuxt-shiki",
"@vee-validate/nuxt",
"nuxt-security",
],
security: {
headers: {
// Nuxt DevTools
crossOriginEmbedderPolicy:
process.env.NODE_ENV === "development"
? "unsafe-none"
: "require-corp",
contentSecurityPolicy: {
"img-src": ["'self'", "data:", "https:"],
"script-src": ["'nonce-{{nonce}}'", "'strict-dynamic'"],
},
xFrameOptions: "DENY",
},
rateLimiter: {
headers: true,
tokensPerInterval: 300,
interval: 300000,
},
},
app: {
head: {
link: [

View file

@ -38,6 +38,7 @@
"nuxt": "^3.11.2",
"nuxt-headlessui": "^1.2.0",
"nuxt-icon": "^0.6.10",
"nuxt-security": "^1.4.3",
"nuxt-shiki": "^0.3.0",
"shiki": "^1.3.0",
"vue": "^3.4.21",