Je veux supprimer X-Powered-By pour la sécurité, économiser la bande passante dans ExpressJS (node.js). comment faire? ce pourrait être un filtre (app.use)?
app.use(function(req,res,next_cb){ /* remove X-Powered-By header */ next_cb(); }
La meilleure façon de le faire est:
app.disable('x-powered-by');
Vous pouvez également créer un middleware pour supprimer tout en-tête comme ceci:
app.use(function (req, res, next) {
res.removeHeader("X-Powered-By");
next();
});
Voir plus d'informations sur la suppression d'un en-tête:
http://nodejs.org/api/http.html#http_response_removeheader_name
Ne l'enlevez pas; demandez à Express de ne pas le générer en premier lieu:
https://stackoverflow.com/a/12484642/50607
Accédez à votre app.js
et juste après:
var app = express();
Ajouter:
app.disable('x-powered-by');
Extrait de middleware de: Impossible de se débarrasser de l'en-tête X-Powered-By: Express
function customHeaders( req, res, next ){
// Switch off the default 'X-Powered-By: Express' header
app.disable( 'x-powered-by' );
// OR set your own header here
res.setHeader( 'X-Powered-By', 'Awesome App v0.0.1' );
// .. other headers here
next();
}
app.use( customHeaders );
// ... now your code goes here