当前位置 主页 > iis相关 >

    【IIS版本号可以被识别】IIS修改Server, X-Powered-By的方法

    栏目:iis相关 时间:2018-10-08 15:00

      一、修改Server:
     
      1、安装UrlScan(放这个是微软官方出的东西),(注意系统是32位(x86),还是64位(x64))
     
      下载地址:http://www.microsoft.com/en-us/search/DownloadResults.aspx?q=URLScan
     
      2、修改URLScan.ini文件
     
      URLScan的所有配置都是通过URLScan.ini文件执行的,此文件位于%WINDIR%\System32\Inetsrv\URLscan文件夹中。要配置URLScan,请在文本编辑器(如记事本)中打开此文件,进行相应的更改,然后保存此文件。
     
      注意:要使更改生效,必须重新启动Internet信息服务(IIS)。一种快速的实现方法是在命令提示符处运行IISRESET。
     
      把RemoveServerHeader=1;若为1,则移除IIS的server标头;
     
      保存,打开页页就看不到Server这个请求头信息了。
     
      URLScan更多说明请看:
     
      http://support.microsoft.com/default.aspx?scid=kb;zh-cn;326444
     
      修改这个Server还有另外的方法(这个是别人写的,不过这样有点麻烦):
     
      http://www.cnblogs.com/wintersun/archive/2011/08/07/2129942.html
     
      二、修改X-Powered-By
     
      打开IIS,点一个站点,再点HTTP响应标头.双击你要修改的如“X-Powered-By”双击,修改成你想要的数据,也可以直接删除。
     
      1、隐藏X-Powered-By
     
      修改PHP.ini文件设置expose_php=Off
     
      2、apache隐藏server
     
      修改httpd.conf设置
     
      ServerSignatureOff
     
      ServerTokensProd
     
      nginx隐藏server
     
      修改nginx.conf在http里面设置
     
      server_tokensoff;
     
      三、修改X-AspNet-Version
     
      在站点的web.config文件下的<system.web>结点下添加
     
      <httpRuntimeenableVersionHeader="false"/>
     
      保存,这样就看不到这个版本信息了
     
      其它平台方法:
     
      解决方案:
     
      1、在IIS配置文件中进行修改。
     
      借助IISURLRewriteModule,添加如下的重写规则:
     
      <rewrite><allowedServerVariables><addname="REMOTE_ADDR"/>allowedServerVariables><outboundRules><rulename="REMOVE_RESPONSE_SERVER"><matchserverVariable="RESPONSE_SERVER"pattern=".*"/><actiontype="Rewrite"/>rule>outboundRules>rewrite>