web-dev-qa-db-ja.com

ExpressJSでX-Powered-Byを削除する方法

セキュリティのためにX-Powered-Byを削除し、ExpressJS(node.js)で帯域幅を保存します。どうやるか? filter(app.use)かもしれませんか?

app.use(function(req,res,next_cb){ /* remove X-Powered-By header */ next_cb(); }
95
MajidTaheri

より良い方法は次のとおりです。

app.disable('x-powered-by');

次のようなヘッダーを削除するミドルウェアを作成することもできます。

app.use(function (req, res, next) {
  res.removeHeader("X-Powered-By");
  next();
});

ヘッダーを削除する方法の詳細を参照してください。

http://nodejs.org/api/http.html#http_response_removeheader_name

126
alessioalex

削除しないでください。最初にそれを生成しないようにExpressに依頼します。

https://stackoverflow.com/a/12484642/50607

app.jsおよび直後:

var app = express();

追加:

app.disable('x-powered-by');
217
ahcox

ミドルウェアスニペット: ヘッダー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