Security IIS6服务于未注册的MIME类型

Security IIS6服务于未注册的MIME类型,security,iis,mime,Security,Iis,Mime,我有一个iis6web服务器(在Win2003上)有一个奇怪的行为,我猜这是一些未记录的“特性” 它提供SVG文件(扩展名.SVG),而不在IIS元数据库上注册。它也没有*mime类型 对于这一请求: GET /basic/file1.svg HTTP/1.1 响应包含 HTTP/1.1 200 OK Content-Length: 32817 Content-Type: image/svg+xml 所以。。。IIS从何处获得此image/svg+xmlmime类型 我在注册表中找到它的唯一

我有一个iis6web服务器(在Win2003上)有一个奇怪的行为,我猜这是一些未记录的“特性”

它提供SVG文件(扩展名.SVG),而不在IIS元数据库上注册。它也没有*mime类型

对于这一请求:

GET /basic/file1.svg HTTP/1.1
响应包含

HTTP/1.1 200 OK
Content-Length: 32817
Content-Type: image/svg+xml
所以。。。IIS从何处获得此
image/svg+xml
mime类型

我在注册表中找到它的唯一位置是
HKEY\U CLASSES\U ROOT\MIME\Database
。 但是根据我找到的所有MS信息,IIS允许的mime类型的源是它自己的元数据库

有人知道这种行为吗?这可能导致IIS管理员产生错误的安全感


向大家问好

IIS从元数据库和注册表(HKCR\)合并MIME映射,以获得允许的MIME类型列表

要列出元数据库mime时间,可以使用:

adsutil.vbs get /MimeMap/mimemap
不幸的是,它打印mime映射的效果很差:

D:\Apps\Scripts>adsutil.vbs get /MimeMap/mimemap
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

MimeMap                         : (MimeMapList) ".asx,video/x-ms-asf" ".xml,text/xml" ".tsv,text/tab
-separated-values" ".ra,audio/x-pn-realaudio" ".sv4crc,application/x-sv4crc" ".spc,application/x-pkc
s7-certificates" ".pmc,application/x-perfmon" ".lit,application/x-ms-reader" ".crd,application/x-msc
更改ADSUtil.VBS中的一行可以解决此问题(请注意“vbCRLF&”):

第1655行:

        MimeOutPutStr = MimeOutPutStr & """" & MimeEntry.Extension & "," & MimeEntry.MimeType & """ "

产生如下输出:

D:\Apps\Scripts>adsutil.vbs enum  /MimeMap
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

KeyType                         : (STRING) "IIsMimeMap"
MimeMap                         : (MimeMapList)
".asx,video/x-ms-asf"
".xml,text/xml"
".tsv,text/tab-separated-values"
".ra,audio/x-pn-realaudio"
".sv4crc,application/x-sv4crc"
".spc,application/x-pkcs7-certificates"
".pmc,application/x-perfmon"
".lit,application/x-ms-reader"
".crd,application/x-mscardfile"

IIS从元数据库和注册表(HKCR\)合并MIME映射,以获得允许的MIME类型列表

要列出元数据库mime时间,可以使用:

adsutil.vbs get /MimeMap/mimemap
不幸的是,它打印mime映射的效果很差:

D:\Apps\Scripts>adsutil.vbs get /MimeMap/mimemap
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

MimeMap                         : (MimeMapList) ".asx,video/x-ms-asf" ".xml,text/xml" ".tsv,text/tab
-separated-values" ".ra,audio/x-pn-realaudio" ".sv4crc,application/x-sv4crc" ".spc,application/x-pkc
s7-certificates" ".pmc,application/x-perfmon" ".lit,application/x-ms-reader" ".crd,application/x-msc
更改ADSUtil.VBS中的一行可以解决此问题(请注意“vbCRLF&”):

第1655行:

        MimeOutPutStr = MimeOutPutStr & """" & MimeEntry.Extension & "," & MimeEntry.MimeType & """ "

产生如下输出:

D:\Apps\Scripts>adsutil.vbs enum  /MimeMap
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

KeyType                         : (STRING) "IIsMimeMap"
MimeMap                         : (MimeMapList)
".asx,video/x-ms-asf"
".xml,text/xml"
".tsv,text/tab-separated-values"
".ra,audio/x-pn-realaudio"
".sv4crc,application/x-sv4crc"
".spc,application/x-pkcs7-certificates"
".pmc,application/x-perfmon"
".lit,application/x-ms-reader"
".crd,application/x-mscardfile"