149

ExpressJS(node.js)のセキュリティ、帯域幅節約のためにX-Powered-Byを削除したいです。どうやってするの?それは filter(app.use) でしょうか?

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

3 に答える 3

313

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

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

app.js次の直後に移動します。

var app = express();

追加:

app.disable('x-powered-by');
于 2012-10-24T18:32:48.430 に答える
228

それを行うより良い方法は次のとおりです。

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

于 2012-05-23T10:31:02.727 に答える
8

ミドルウェア スニペット:ヘッダーを取り除くことができません 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
于 2012-10-28T20:10:54.177 に答える