In Node.js/Express, how do I automatically add this header to every "render" response?


Question

I have many of these "controllers":

app.get('/',function(req,res){
    var stuff = { 'title': 'blah' };
    res.render('mytemplate',stuff);
});    

Notice res.render? I want to add this header to every response header I make:

X-XSS-Protection: 0

How can I add that response header automatically?

1
32
5/22/2017 10:39:39 AM

Accepted Answer

// global controller
app.get('/*',function(req,res,next){
    res.header('X-XSS-Protection' , 0 );
    next(); // http://expressjs.com/guide.html#passing-route control
});

Just make sure this is the first controller you add, order is significant.

65
7/12/2011 8:30:40 AM

You probably want to use app.use with your own middleware:

app.use(function(req, res, next) {
    res.header('X-XSS-Protection', 0);
    next();
});

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon