首页 > 代码库 > 如何移除网站Response Headers中的X-Powered-By信息?

如何移除网站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”链接:

技术分享

如何移除网站Response Headers中的X-Powered-By信息?