Olet tällä hetkellä offline-tilassa. Internet-yhteyden muodostamista uudelleen odotetaan

Kanonisen muunnon ongelmien ASP.NET-sovelluksessa tarkistamisen HTTP-moduuli

Yhteenveto
Microsoft on luonut kanonisen muunnon parhaat käytännöt toteuttavan HTTP-moduulin auttaakseen asiakkaita suojaamaan ASP.NET-sovelluksiaan. Saat lisätietoja napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokannassa:
887459 Kanonisen muunnon ongelmien ohjelmallinen tarkistaminen ASP.NET-sovelluksessa
Saat lisätietoja ASP.NETin version selvittämisestä napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokannassa:
318785 .NET Frameworkiin asennettujen Service Pack -pakettien selvittäminen (tämä artikkeli saattaa olla englanninkielinen)
Oire
Kun Web-palvelin vastaanottaa URL-osoitteen, palvelin yhdistää pyynnön tiedostojärjestelmäpolkuun, joka määrittää vastauksen. Pyynnön yhdistämiseen käytettävän rutiinin on jäsennettävä URL-osoite oikein, jotta odottamatonta sisältöä ei tarjota tai käsitellä. Käsittelemättömät kanonisen muunnon ongelmat saattavat johtaa odottamattomiin tuloksiin. Lisätietoja kanonisesta muunnosta on seuraavassa Microsoftin Web-sivustossa:
Ratkaisu

Microsoft.Web.ValidatePathModule.dll - HTTP-moduuli

Lataamistiedot

Voit ladata seuraavan tiedoston Microsoft Download Centeristä:

LataaLataa VPModule.msi-paketti nyt.

Julkaisupäivämäärä: 7.10.2004

Lisätietoja Microsoft-tukitiedostojen lataamisesta ja asentamisesta saat napsauttamalla alla olevaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokannassa:
119591 Microsoft-tukitiedostojen hankkiminen online-palveluista
Microsoft on tarkistanut tämän tiedoston virusten varalta. Microsoft käytti viimeisintä virustentarkistusohjelmistoa, joka oli saatavana tiedoston julkaisupäivänä. Tiedosto on tallennettu suojattuihin palvelimiin, joten sitä ei voi muokata luvattomasti.

Edellytykset

VPModule.msi-tiedosto on suunniteltu 32-bittiselle Microsoft .NET Frameworkille.

Ennen kuin asennat VPModule.msi-tiedoston, varmuuskopioi kaikki tietokoneen Machine.config-tiedoston esiintymät. Voit luoda Machine.config-tiedostosta varmuuskopion seuraavasti:
  1. Napsauta Käynnistä-painiketta, valitse Suorita, kirjoita tekstikenttään cmd ja valitse lopuksi OK.
  2. Etsi Machine.config-tiedoston kaikki versiot. Machine.config-tiedosto tai -tiedostot sijaitsevat seuraavassa kansiossa, jossa <Framework-version numero> on asennetun Microsoft .NET Frameworkin numero:
    %windir%\Microsoft.NET\Framework\<Framework-version numero>\CONFIG
    Esimerkiksi jos .NET Framework 1.1 on asennettu asemaan C, kirjoita seuraava komento ja paina sitten ENTER-näppäintä:
    cd /d %windir%\microsoft.net\framework\v1.1.4322\config
  3. Luo Machine.config-tiedoston varmuuskopio seuraavan komennon avulla ja paina sitten ENTER-näppäintä:
    copy machine.config machine.config.bak
Toista nämä vaiheet jokaiselle järjestelmään asennetulle .NET Framework -esiintymälle.

Asennustiedot

Microsoft on julkaissut VPModule.msi-asennuspaketin. VPModule.msi-tiedosto asentaa järjestelmään Microsoft.Web.ValidatePathModule.dll-tiedoston. Asennus päivittää uuden HTTP-moduulimerkinnän kaikkiin asennettujen .NET Frameworkin versioiden Machine.config-tiedostoon tai -tiedostoihin.

Jos haluat käyttää asennuspakettia, lataa VPModule.msi-tiedosto, aloita asennus kaksoisnapsauttamalla pakettia ja noudata sitten asennusohjeita.

VPModule.msi-tiedoston tehtävät

Asennusohjelma purkaa ensin Microsoft.Web.ValidatePathModule.dll-tiedoston. Tämän jälkeen asennusohjelma päivittää kaikki järjestelmässä olevat Machine.config-tiedostot niin, että niissä on seuraavankaltainen merkintä:
    <system.web>        <httpModules>            <add name="ValidatePathModule" type="Microsoft.Web.ValidatePathModule, Microsoft.Web.ValidatePathModule, Version=1.0.0.0, Culture=neutral, PublicKeyToken=eba19824f86fdadd"/>        </httpModules>    </system.web>
Tämän jälkeen asennusohjelma lisää Microsoft.Web.ValidatePathModule.dll-tiedoston GAC:hen (Global Assembly Cache).

Alla on sellaisille kehittäjille tarkoitettu lähdekoodi, jotka haluavat ymmärtää, mitä Microsoft.Web.ValidatePathModule.dll-tiedosto tekee ohjelmallisesti:
namespace Microsoft.Web {    public class ValidatePathModule : IHttpModule {        public ValidatePathModule() {        }        void IHttpModule.Init(HttpApplication app) {            app.BeginRequest += new EventHandler(this.OnBeginRequest);        }        void IHttpModule.Dispose() {        }        void OnBeginRequest(Object source, EventArgs eventArgs) {            HttpRequest request = (source as HttpApplication).Request;            string physicalPath = request.PhysicalPath;            if (request.Path.IndexOf('\\') >= 0 || Path.GetFullPath(physicalPath) != physicalPath) {                throw new HttpException(404, "Not Found");            }        }    }}
Lisätietoja moduulin asennuksessa käytettävistä komentorivivalitsimista on seuraavassa Microsoftin Web-sivustossa:

Asennuksen tarkistamistiedot

Kun moduuli on asennettu oikein, rekisterissä on seuraava rekisteriavain:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{30EFFF0C-573D-46FB-8AD5-00887289261A}
Huomautus Tätä rekisteriavainta ei ole järjestelmässä, jos HTTP-moduuli asennetaan manuaalisesti "Mukautetun asennuksen tiedot" -osan ohjeiden mukaisesti. Valitsimen /a käyttäminen vain purkaa tiedostot. Tällöin rekisteriä ei päivitetä.

Poistamistiedot

Jos haluat poistaa nämä muutokset, suorita VPModule.msi-tiedosto ja valitse Remove-vaihtoehto. Voit myös käyttää Ohjauspaneelin Lisää tai poista sovellus -työkalua.

Valvomattoman asennuksen tiedot

Voit asentaa muutokset valvomattomassa tilassa seuraavan komennon avulla:
msiexec /i vpmodule.msi /qb-
Voit poistaa muutokset valvomattomassa tilassa seuraavan komennon avulla:
msiexec /x vpmodule.msi /qb-

Mukautetun asennuksen tiedot

Voit asentaa HTTP-moduulin manuaalisesti seuraavasti:
  1. Varmuuskopioi Machine.config-tiedosto tai -tiedostot. Lisätietoja tämän tekemisestä on "Edellytykset"-osassa.
  2. Lataa paketti. Lisätietoja tämän tekemisestä on "Lataamistiedot"-osassa.
  3. Pura Microsoft.Web.ValidatePathModule.dll-tiedosto VPModule.msi-tiedostosta haluamaasi sijaintiin seuraavan komennon avulla:
    msiexec /a vpmodule.msi
  4. Kopioi moduuli GAC:hen seuraavan komennon avulla:
    gacutil -i microsoft.web.validatepathmodule.dll
    Huomautus Moduuli puretaan Microsoft ValidatePath Module -kansioon, joka sijaitsee määrittämässäsi sijainnissa.
  5. Muokkaa Machine.config-tiedostoa tai -tiedostoja lisäämällä seuraava merkintä <httpModules>-osaan:
    <add name="ValidatePathModule" type="Microsoft.Web.ValidatePathModule, Microsoft.Web.ValidatePathModule, Version=1.0.0.0, Culture=neutral, PublicKeyToken=eba19824f86fdadd"/>

Tunnetut ongelmat

Tunnettuja ongelmia ovat seuraavat:
  • Asennusohjelma varmistaa, että Machine.config-tiedostoon tai -tiedostojen <httpModule>-osaan päivitetään Microsoft.Web.ValidatePathModule.dll-tiedoston merkintä. Joissakin tilanteissa tämä ei kuitenkaan välttämättä estä kuvattua ongelmaa ilmenemästä.

    Tämä ongelma voi ilmetä, jos olemassa on Web.config-tiedosto, joka poistaa Machine.config-tasolla määritetyn luettelon. Esimerkiksi seuraavankaltainen Web.config-tiedoston merkintä saattaa aiheuttaa tämän ongelman:
    <httpModules>    <clear/></httpModules>
    Tämä kokoonpano estää moduulin suorittamisen kyseiselle sovellukselle. Tämä kokoonpano ilmenee yleensä silloin, kun sovellus ei halua käyttää Machine.config-tasolla määritettyjä HTTP-moduuleita, vaan haluaa tyhjentää luettelon ja määrittää nykyistä sovellusta koskevan uuden luettelon.
  • Jos asennat eri .NET Framework -version, sinun on poistettava VPModule.msi-tiedoston asennus ja asennettava se sitten uudelleen.
  • Saat lisätietoja SQL Server Reporting Services -palveluiden ja VPModule.msi-tiedoston ongelmista napsauttamalla alla olevaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokannassa:
    887787 Näyttöön saattaa tulla Reporting Services -palveluiden virhesanomia ASP.NET ValidatePath -moduulin asentamisen jälkeen (tämä artikkeli saattaa olla englanninkielinen)
Suositukset
Saat lisätietoja napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokannassa:
887405 VPModule.msi-tiedoston asentaminen Active Directory -toimialueelle Windows Installerin ja ryhmäkäytännön avulla
Saat lisätietoja napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokannassa:
887404 ValidatePath-moduulin asentaminen Systems Management Server 2003 -palvelimen avulla
Saat lisätietoja napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokannassa:
887290 ASP.NET ValidatePath Module Scannerin (VPModuleScanner.js) käyttäminen
Lisätietoja istuntotiloista on Microsoftin Web-sivustossa osoitteessa:
Ominaisuudet

Artikkelin tunnus: 887289 – Viimeisin tarkistus: 12/03/2007 18:51:51 – Versio: 3.7

Microsoft ASP.NET 1.0, Microsoft ASP.NET 1.1, Microsoft .NET Framework 1.0, Microsoft .NET Framework 1.0 Service Pack 1, Microsoft .NET Framework 1.0 Service Pack 2, Microsoft .NET Framework 1.0 Service Pack 3, Microsoft .NET Framework 1.1, Microsoft .NET Framework 1.1 Service Pack 1, Microsoft .NET Framework Software Development Kit 1.0 Service Pack 2, Microsoft .NET Framework Software Development Kit 1.0 Service Pack 1, Microsoft .NET Framework Software Development Kit 1.0 Service Pack 2

  • kbsecurity kbtshoot KB887289
Palaute
document.write("