我想刪除X-Powered-By for Security,在ExpressJS(node.js)中保存帶寬。怎麼做? 它可能是過濾器(app.use)?如何刪除ExpressJS中的X-Powered-By
app.use(function(req,res,next_cb){ /* remove X-Powered-By header */ next_cb(); }
我想刪除X-Powered-By for Security,在ExpressJS(node.js)中保存帶寬。怎麼做? 它可能是過濾器(app.use)?如何刪除ExpressJS中的X-Powered-By
app.use(function(req,res,next_cb){ /* remove X-Powered-By header */ next_cb(); }
做一箇中間件,像這樣:
app.use(function (req, res, next) {
res.removeHeader("X-Powered-By");
next();
});
參見如何刪除頭的詳細信息:
http://nodejs.org/api/http.html#http_response_removeheader_name
更新:
我就是在那個時候,有做更好的辦法不知道(因爲許多建議,以下同):
app.disable('x-powered-by');
這是已經在這裏找到答案:Can't get rid of header X-Powered-By:Express
app.use(function (req, res, next) {
res.removeHeader("X-Powered-By");
next();
});
:)
不要刪除它;問快遞不產生它擺在首位:
https://stackoverflow.com/a/12484642/506073
轉到您的app.js
,只是後:
var app = express();
地址:
app.disable('x-powered-by');
國際海事組織,這應該是答案 - 中間件是一個性能打擊每一個請求,爲什麼不只是防止首先產生的頭? –
也可以使用'app.set'('x-powered-by',false);' – tfmontague
這隻會暫時刪除一次設置的自定義標題,如果我在自己的代碼中註釋掉這行代碼,自定義標題會重新出現,沒有刪除...我需要刪除它!我也嘗試過'res.removeHeader(「custom1」);'但沒有工作... – neoDev
中間件片段來自:Can't get rid of header 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
這不是理想的/完美的/正確的答案。看到最讚的人。乾杯! – ptz0n
確實,更新了我的回答以反映這一點。 – alessioalex
我剛剛測試過'app.disable('custom1');'它工作正常(它從服務器響應中刪除了標題)。但後來我註釋了'app.disable('custom1');'和標題再次出現......這是正常的嗎?我不再有'res.header(「custom1」,「test」);'在我的代碼中,因爲我不再需要這個頭文件,但它仍然出現... – neoDev