web-dev-qa-db-fra.com

comment supprimer X-Powered-By dans ExpressJS

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(); }
95
MajidTaheri

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

126
alessioalex

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');
217
ahcox

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
5
papercowboy