14 lines
745 B
TypeScript
14 lines
745 B
TypeScript
export default defineEventHandler((event) => {
|
|
removeResponseHeader(event, 'x-powered-by')
|
|
setResponseHeaders(event, {
|
|
'X-Content-Type-Options': 'nosniff',
|
|
'X-Frame-Options': 'DENY',
|
|
'Referrer-Policy': 'strict-origin-when-cross-origin',
|
|
'Permissions-Policy': 'camera=(), microphone=(), geolocation=(), payment=()',
|
|
'Content-Security-Policy': "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob:; font-src 'self' data:; connect-src 'self'; base-uri 'self'; object-src 'none'; frame-ancestors 'none'",
|
|
})
|
|
if (useRuntimeConfig().sessionCookieSecure) {
|
|
setResponseHeader(event, 'Strict-Transport-Security', 'max-age=31536000; includeSubDomains')
|
|
}
|
|
})
|