Security di Node.js dan Express.js
Content Security Policy (CSP)
CSP mencegah XSS dengan membatasi sumber script yang allowed
const helmet = require("helmet");
app.use(
helmet.contentSecurityPolicy({
directives: {
defaultSrc: ["'self'"],
scriptSrc: ["'self'", "trusted-cdn.com"],
styleSrc: ["'self'", "'unsafe-inline'"],
imgSrc: ["'self'", "data:", "images.example.com"],
connectSrc: ["'self'"],
fontSrc: ["'self'"],
objectSrc: ["'none'"],
upgradeInsecureRequests: [],
},
}),
);
Ini akan block semua inline scripts kecuali dari sumber yang diizinkan