IIS6 che serve tipi MIME non registrati
Domanda
Ho un server web IIS6 (su Win2003) che sta avendo uno strano comportamento che immagino sia una "funzionalità" non documentata...
Fornisce file SVG (estensione .svg) senza che sia registrato nella metabase IIS.Non ha nemmeno il tipo * mime.
Per questa richiesta:
GET /basic/file1.svg HTTP/1.1
la risposta contiene
HTTP/1.1 200 OK
Content-Length: 32817
Content-Type: image/svg+xml
COSÌ ...dove IIS ha preso questo image/svg+xml
tipo mimo?
L'unico posto in cui l'ho trovato è nel Registro di sistema, in HKEY_CLASSES_ROOT\MIME\Database
.Ma secondo tutte le informazioni MS che ho trovato, la fonte per i tipi MIME consentiti da IIS è la propria metabase.
Qualcuno conosce questo comportamento?Ciò potrebbe indurre un amministratore IIS a un falso senso di sicurezza...
Cordiali saluti a tutti!!
Soluzione
IIS unisce le mappe MIME dalla metabase e dal registro (HKCR\<estensione>) per ottenere l'elenco dei tipi MIME consentiti.
Per elencare i tempi mime della metabase, puoi utilizzare:
adsutil.vbs get /MimeMap/mimemap
Che, sfortunatamente, stampa male la mappa 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
La modifica di una riga in ADSUtil.VBS risolve questo problema (nota " vbCRLF & "):
Linea 1655:
MimeOutPutStr = MimeOutPutStr & """" & MimeEntry.Extension & "," & MimeEntry.MimeType & """ "
A
MimeOutPutStr = MimeOutPutStr & vbCRLF & """" & MimeEntry.Extension & "," & MimeEntry.MimeType & """ "
Produce un output come questo:
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"