Implement security headers middleware for HSTS, COOP, CORP, and more
This commit is contained in:
@@ -0,0 +1,27 @@
|
|||||||
|
/**
|
||||||
|
* Factory returning express-style middleware that sets standard security headers.
|
||||||
|
* Registered by 1I when wiring middleware into Modern.js config.
|
||||||
|
*/
|
||||||
|
export function securityHeadersMiddleware() {
|
||||||
|
return (
|
||||||
|
_req: unknown,
|
||||||
|
res: { setHeader(name: string, value: string): void },
|
||||||
|
next: () => void,
|
||||||
|
): void => {
|
||||||
|
res.setHeader(
|
||||||
|
"Strict-Transport-Security",
|
||||||
|
"max-age=63072000; includeSubDomains; preload",
|
||||||
|
);
|
||||||
|
res.setHeader("X-Content-Type-Options", "nosniff");
|
||||||
|
res.setHeader("X-Frame-Options", "SAMEORIGIN");
|
||||||
|
res.setHeader("Referrer-Policy", "strict-origin-when-cross-origin");
|
||||||
|
res.setHeader(
|
||||||
|
"Permissions-Policy",
|
||||||
|
"geolocation=(), camera=(), microphone=()",
|
||||||
|
);
|
||||||
|
res.setHeader("Cross-Origin-Opener-Policy", "same-origin");
|
||||||
|
res.setHeader("Cross-Origin-Resource-Policy", "cross-origin");
|
||||||
|
|
||||||
|
next();
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user