Enhance security and localization features across the application
- Added rehype-sanitize plugin to the markdown configuration for improved security against XSS attacks. - Updated environment variables in the codebase to include new configurations for SMTP and monitoring. - Implemented secure headers in server and Nginx configurations to bolster security. - Refactored email handling to prevent spoofing by ensuring safe sender addresses. - Improved localization by updating language persistence and button components for better user experience. - Enhanced the uptime API and contact form with better error handling and logging practices. - Updated dependencies in package.json and package-lock.json for better performance and security.
This commit is contained in:
16
server.js
16
server.js
@@ -11,6 +11,22 @@ const PORT = process.env.PORT || 3000;
|
||||
// Enable gzip/brotli compression
|
||||
app.use(compression());
|
||||
|
||||
// Set minimal secure headers for SSR responses
|
||||
app.use((req, res, next) => {
|
||||
res.setHeader('X-Content-Type-Options', 'nosniff');
|
||||
res.setHeader('Referrer-Policy', 'strict-origin-when-cross-origin');
|
||||
res.setHeader('Cross-Origin-Opener-Policy', 'same-origin');
|
||||
res.setHeader('Cross-Origin-Embedder-Policy', 'require-corp');
|
||||
// Gate SSR CSP to avoid breaking inline scripts unless explicitly enabled
|
||||
if (process.env.ENABLE_SSR_CSP === '1') {
|
||||
res.setHeader(
|
||||
'Content-Security-Policy',
|
||||
"default-src 'self'; script-src 'self' 'wasm-unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https://cdn.pixabay.com https://raw.githubusercontent.com; font-src 'self' data:; connect-src 'self'; frame-ancestors 'none'; base-uri 'self'; form-action 'self'"
|
||||
);
|
||||
}
|
||||
next();
|
||||
});
|
||||
|
||||
// Serve static assets from the dist/client directory
|
||||
app.use(express.static(path.join(__dirname, 'dist/client')));
|
||||
|
||||
|
Reference in New Issue
Block a user