如何移除网站Response Headers中的X-Powered-By信息?
X-Powered-By是网站响应头信息其中的一个,出于安全的考虑,一般会修改或删除掉这个信息。
如果你用的node.js express框架,那么X-Powered-By就会显示Express。如果用的thinkjs,那么X-Powered-By就会显示thinkjs.1...
最近,在折腾node.js程序的时候,我就想把这个信息删除。具体删除方法如下:
在Express中删除X-Powered-By
var app = express();
app.disable('x-powered-by');
在thinkjs中删除X-Powered-By
在App/Lib/Controller/中某个分组的BaseController下,比如Home/BaseController,加如下第二行代码:
init: function(http) {
http.res.removeHeader("x-powered-by");
this.super("init", http);
}
在PHP中删除X-Powered-By
- 第一种方法
PHP.ini设置expose_php = off
if (function_exists('header_remove')) {
header_remove('X-Powered-By'); // PHP 5.3+
} else {
@ini_set('expose_php', 'off');
}
在asp.net中删除X-Powered-By
在IIS 6 和 IIS 7 中 移除X-Powered-By xxx 的 HTTP头 的方法如下:
X-Powered-By HTTP头并不只是在Asp.net中存在,其他服务端语言,比如php, 也会包含这个HTTP头,当Asp.net被安装时,这个头会作为一个定制的 HTTP头插入IIS中,因此,我们需要将这个HTTP头从IIS的配置中删除,如果你的网站是在共享的环境下并且没有使用IIS7并使用管道模式,你不 得不为此联系你的空间提供商来帮你移除。(如果你的网站是在IIS7环境下,那你可以通过HTTP Module的形式通过编程来移除)
在IIS6中移除X-Powered-By HTTP头:
启动IIS,展开Website目录
在Website上点击右键并在弹出的菜单中选择“属性”
选择HTTP Header标签,所有IIS响应中包含的自定义的HTTP头都会在这里显示,只需要选择响应的HTTP头并点击删除就可以删除响应的HTTP头,如图:
而在IIS7中移除X-Powered-By HTTP头的方法是:
选择你需要修改的站点并双击HTTP响应头部分
所有的自定义HTTP头全在这里了,删除相应的头仅需要点击右边的”Remove”链接: