Az ASP.NET szabványosítással kapcsolatos problémáinak ellenőrzésére használható HTTP-modul

A cikk fordítása A cikk fordítása
Cikk azonosítója: 887289 - A cikkben érintett termékek listájának megtekintése.
Az összes kibontása | Az összes összecsukása

A lap tartalma

Összefoglaló

A Microsoft az ügyfelek rendelkezésére bocsátott egy új HTTP modult – a szabványosítással kapcsolatos gyakorlati tanácsok megvalósítását – az ASP.NET alkalmazások védelmének megkönnyítése érdekében. További információt a Microsoft Tudásbázis következő cikkében talál a cikk számára kattintva:
887459 Az ASP.NET szabványosítással kapcsolatos problémáinak ellenőrzése programból
További információt az ASP.NET verziójának megállapításáról a Microsoft Tudásbázis következő cikkében talál a cikk számára kattintva:
318785 A .NET-keretrendszer telepített szervizcsomagjainak megjelenítése (Előfordulhat, hogy a hivatkozás részben vagy teljes egészében angol nyelvű tartalomra mutat.)

A jelenség

Amikor a webkiszolgáló megkap egy URL-címet, a kérelmet leképezi egy fájlrendszer elérési útjára, amely meghatározza a választ. A kérelem leképezésére használatos szabványosítási rutinnak megfelelően kell elemeznie az URL-címet annak elkerülése érdekében, hogy nem várt tartalmat szolgáltasson vagy dolgozzon fel. A kezeletlen szabványosítási problémák váratlan eredményekhez vezethetnek. A szabványosításról a Microsoft következő webhelyén talál további információt:
http://msdn2.microsoft.com/en-us/library/aa302420.aspx

A megoldás

Microsoft.Web.ValidatePathModule.dll – HTTP-modul

Letöltési információ

A következő fájl letölthető a Microsoft letöltőközpontból:

A kép összecsukásaA kép kibontása
Letöltés
A VPModule.msi csomag letöltése

A kiadás dátuma: 2004. október 7.

A Microsoft terméktámogatási fájlok letöltéséről további információt a Microsoft Tudásbázis következő cikkében talál a cikk számára kattintva:
119591 Microsoft terméktámogatási fájlok beszerzése az online szolgáltatások segítségével
A Microsoft ellenőrizte a fájl vírusmentességét. A Microsoft a fájl ellenőrzéséhez a kiadás napján rendelkezésre álló legújabb vírusellenőrző szoftvert használta. A fájl egy biztonságos kiszolgálón van tárolva, mely megakadályozza a fájl jogosulatlan módosítását.

Előfeltételek

A VPModule.msi fájl a Microsoft .NET-keretrendszer 32 bites verziójához készült.

A VPModule.msi fájl telepítését megelőzően készítsen biztonsági másolatot a Machine.config fájl számítógépen található összes példányáról. A Machine.config fájl biztonsági mentéséhez hajtsa végre a következő lépéseket:
  1. Kattintson a Start menü Futtatás parancsára, írja be a cmd parancsot, majd kattintson az OK gombra.
  2. Keresse meg a Machine.config fájl összes verzióját. A Machine.config fájl vagy fájlok a következő mappában találhatók, ahol a <keretrendszer verziószáma> a Microsoft .NET-keretrendszer telepített verziója:
    %windir%\Microsoft.NET\Framework\<keretrendszer verziószáma>\CONFIG
    Ha például a .NET-keretrendszer 1.1-es verziója van telepítve a C meghajtóra, írja be a következő parancsot, majd nyomja le az ENTER billentyűt:
    cd /d %windir%\microsoft.net\framework\v1.1.4322\config
  3. Írja be a következő parancsot a Machine.config fájl biztonsági másolatának létrehozásához, majd nyomja le az ENTER billentyűt:
    copy machine.config machine.config.bak
Ismételje meg e lépéseket a .NET-keretrendszer rendszerbe telepített összes verziójára.

Telepítési információ

A Microsoft kiadott egy VPModule.msi nevű telepítőcsomagot. A VPModule.msi fájl a Microsoft.Web.ValidatePathModule.dll fájlt telepíti a rendszerbe. A telepítő frissíti a Machine.config fájlt vagy fájlokat az új HTTP modulra vonatkozó bejegyzéssel a .NET-keretrendszer minden telepített verzióján.

A telepítőcsomag használatához töltse le a VPModule.msi fájlt, kattintson duplán a csomagra a telepítés megkezdéséhez, majd kövesse a megjelenő telepítési utasításokat.

A VPModule.msi fájl által végrehajtott műveletek

A telepítő először kibontja a Microsoft.Web.ValidatePathModule.dll nevű fájlt, majd frissíti a rendszerben található összes Machine.config fájlt a következőhöz hasonló bejegyzés hozzáadásával:
    <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>
Ezt követően hozzáadja a Microsoft.Web.ValidatePathModule.dll fájlt a Global Assembly Cache (GAC) gyorsítótárhoz.

A Microsoft.Web.ValidatePathModule.dll programkódja által végrehajtott műveletek könnyebb megértése végett a fejlesztők számára alább mellékeljük a forráskódot:
namespace Microsoft.Web {
    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, "Nem található");
            }
        }
    }
}
A modulhoz használható parancssori kapcsolókat érintően a Microsoft következő webhelyére látogatva talál információkat:
http://msdn2.microsoft.com/en-us/library/aa367988.aspx

Információk a telepítés ellenőrzéséhez

A modul helyes telepítése esetén létrejön a következő rendszerleíró kulcs:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{30EFFF0C-573D-46FB-8AD5-00887289261A}
Megjegyzés: Ez a rendszerleíró kulcs nem található meg a rendszerben, ha az „Információ az egyéni telepítéshez” szakaszban leírt módon manuálisan telepíti a HTTP modult. A /a kapcsoló megadása esetén csak a fájlok kibontását végzi el telepítő, a rendszerleíró adatbázist nem frissíti.

Információ az eltávolításhoz

A változtatások eltávolításához futtassa a VPModule.msi fájlt az Eltávolítás lehetőséget választva. Másik módszerként használhatja a Vezérlőpult Programok telepítése és törlése eszközét is.

Információ a felügyelet nélküli telepítéshez

A változtatások felügyelet nélküli módban való telepítéséhez használja a következő parancsot:
msiexec /i vpmodule.msi /qb-
A változtatások felügyelet nélküli módban való eltávolításához használja a következő parancsot:
msiexec /x vpmodule.msi /qb-

Információ az egyéni telepítéshez

A HTTP-modul manuális telepítéséhez hajtsa végre a következő lépéseket:
  1. Készítsen biztonsági másolatot a Machine.config fájlról vagy fájlokról. Ha többet szeretne tudni erről a műveletről, olvassa el az „Előfeltételek” szakaszt.
  2. Töltse le a csomagot. Ennek módjáról részleteket a „Letöltési információ” című szakasz tartalmaz.
  3. A következő parancs segítségével bontsa ki a Microsoft.Web.ValidatePathModule.dll fájlt a VPModule.msi fájlból tetszőleges helyre:
    msiexec /a vpmodule.msi
  4. A következő parancs használatával másolja a modult a GAC gyorsítótárba:
    gacutil -i microsoft.web.validatepathmodule.dll
    Megjegyzés: A modult a megadott elérési úton létrehozott „Microsoft ValidatePath Module” mappába bontja ki a számítógép.
  5. A Machine.config fájl vagy fájlok szerkesztésével adja hozzá a következő bejegyzést a <httpModules> szakaszhoz:
    <add name="ValidatePathModule" type="Microsoft.Web.ValidatePathModule, Microsoft.Web.ValidatePathModule, Version=1.0.0.0, Culture=neutral, PublicKeyToken=eba19824f86fdadd"/>

Ismert problémák:

Az alábbi problémák ismertek:
  • A telepítő ellenőrzi, hogy a Machine.config fájlt vagy fájlokat sikerült frissíteni a Microsoft.Web.ValidatePathModule.dll fájlra vonatkozó <httpModule> bejegyzéssel. Bizonyos körülmények között azonban ez nem akadályozza meg a számítógép bemutatott viselkedését.

    Ez akkor fordulhat elő, ha a Web.config fájl létezik, és törli a Machine.config szintjén definiált listát. Ha például valamelyik bejegyzés a következőhöz hasonló, akkor felléphetnek a Web.config fájl által okozott problémák:
        <httpModules> 
            <clear/> 
        </httpModules>
    Ez a konfiguráció megakadályozza a problémát enyhítő modult az adott alkalmazás végrehajtásában. E konfiguráció általában akkor fordul elő, ha egy alkalmazás nem a Machine.config fájl szintjén definiált HTTP modulokat próbálja használni, hanem törölni próbálja a listát, majd egy új, az aktuális alkalmazásra nézve specifikus listát próbál létrehozni.
  • Ha a .NET-keretrendszer eltérő verzióját használja, el kell távolítani, majd újra kell telepíteni a VPModule.msi fájlt.
  • További információt az SQL Server jelentési szolgáltatásairól és a VPModule.msi fájlról a Microsoft Tudásbázis következő cikkében talál a cikk számára kattintva:
    887787 A jelentési szolgáltatások hibaüzeneteket küldhetnek az ASP.NET ValidatePath moduljának telepítését követően (Előfordulhat, hogy a hivatkozás részben vagy teljes egészében angol nyelvű tartalomra mutat.)

Hivatkozások

További információt a Microsoft Tudásbázis következő cikkében talál a cikk számára kattintva:
887405 A VPModule.msi fájl központi telepítése Active Directory tartományban a Windows Installer és a Csoportházirend szolgáltatások segítségével (Előfordulhat, hogy a hivatkozás részben vagy teljes egészében angol nyelvű tartalomra mutat.)
További információt a Microsoft Tudásbázis következő cikkében talál a cikk számára kattintva:
887404 A ValidatePath modul központi telepítése a Systems Management Server 2003 használatával (Előfordulhat, hogy a hivatkozás részben vagy teljes egészében angol nyelvű tartalomra mutat.)
További információt a Microsoft Tudásbázis következő cikkében talál a cikk számára kattintva:
887290 Az ASP.NET ValidatePath moduljának keresésére szolgáló eszköz (VPModuleScanner.js) használata (Előfordulhat, hogy a hivatkozás részben vagy teljes egészében angol nyelvű tartalomra mutat.)
A munkamenet-állapotokról a Microsoft következő webhelyén talál további információt:
http://msdn2.microsoft.com/en-us/library/87069683(vs.71).aspx

Tulajdonságok

Cikk azonosítója: 887289 - Utolsó ellenőrzés: 2007. december 3. - Verziószám: 3.8
A cikkben található információ a következő(k)re vonatkozik:
  • 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-keretrendszer 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
Kulcsszavak: 
kbtshoot kbsecurity KB887289
A Microsoft tudásbázisban szolgáltatott információkat "az adott állapotban", bárminemű szavatosság vagy garancia nélkül biztosítjuk. A Microsoft kizár mindennemű, akár kifejezett, akár vélelmezett szavatosságot vagy garanciát, ideértve a forgalomképességre és az adott célra való alkalmasságra vonatkozó szavatosságot is. A Microsoft Corporation és annak beszállítói semmilyen körülmények között nem felelősek semminemű kárért, így a közvetlen, a közvetett, az üzleti haszon elmaradásából származó vagy speciális károkért, illetve a kár következményeként felmerülő költségek megtérítéséért, még abban az esetben sem, ha a Microsoft Corporationt vagy beszállítóit az ilyen károk bekövetkeztének lehetőségére figyelmeztették. Egyes államok joga nem teszi lehetővé bizonyos károkért a felelősség kizárását vagy korlátozását, ezért a fenti korlátozások az ön esetében esetleg nem alkalmazhatók.

Visszajelzés küldése

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com