HTTP-module om te controleren op standaardisatieproblemen met ASP.NET

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 887289 - Bekijk de producten waarop dit artikel van toepassing is.
Alles uitklappen | Alles samenvouwen

Op deze pagina

Samenvatting

Voor ondersteuning van klanten bij het beschermen van hun ASP.NET-toepassingen heeft Microsoft een HTTP-module beschikbaar gesteld die de beste oplossingen voor standaardisatie implementeert. Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie:
887459 Programmatisch controleren op standaardisatieproblemen met ASP.NET
Voor meer informatie over het bepalen van de versie van ASP.NET klikt u op het volgende artikelnummer in de Microsoft Knowledge Base:
318785 Bepalen of service packs zijn geïnstalleerd in het .NET Framework

Symptomen

Wanneer een webserver een URL ontvangt, wijst de server het verzoek toe aan een bestandssysteempad dat de respons bepaalt. De standaardisatieroutine die wordt gebruikt om het verzoek toe te wijzen, moet de URL correct parseren om te voorkomen dat onverwachte inhoud wordt aangeboden of verwerkt. Standaardisatieproblemen die niet worden afgehandeld, kunnen onverwachte resultaten tot gevolg hebben. Ga naar de volgende Microsoft-website voor meer informatie over standaardisatie:
http://msdn2.microsoft.com/en-us/library/aa302420.aspx

Oplossing

Microsoft.Web.ValidatePathModule.dll - HTTP-module

Downloadgegevens

U kunt het volgende bestand downloaden van het Microsoft Downloadcentrum:

Deze afbeelding samenvouwenDeze afbeelding uitklappen
Downloaden
Het pakket VPModule.msi nu downloaden.

Releasedatum: 7 oktober 2004

Als u meer informatie wilt over het downloaden van Microsoft-ondersteuningsbestanden, klikt u op het volgende artikelnummer in de Microsoft Knowledge Base:
119591 Microsoft-ondersteuningsbestanden downloaden van Online Services
Microsoft heeft dit bestand op virussen gecontroleerd. Hiervoor is de meest actuele software voor virusdetectie gebruikt die beschikbaar was op de datum dat het bestand werd gepubliceerd. Het bestand is ondergebracht op beveiligde servers die onbevoegde wijzigingen aan het bestand helpen verhinderen.

Voorwaarden

Het bestand VPModule.msi is ontworpen voor de 32-bits versie van Microsoft .NET Framework.

Voordat u het bestand VPModule.msi installeert, moet u een reservekopie maken van alle exemplaren van het bestand Machine.config op uw computer. Ga als volgt te werk om een reservekopie van het bestand Machine.config te maken:
  1. Klik op Start, vervolgens op Uitvoeren, typ cmd en klik op OK.
  2. Zoek alle exemplaren van het bestand Machine.config. Het bestand of de bestanden Machine.config bevinden zich in de volgende map, waarbij <versienummer framework> de geïnstalleerde versie van Microsoft .NET Framework is:
    %windir%\Microsoft.NET\Framework\<versienummer framework>\CONFIG
    Als .NET Framework 1.1 bijvoorbeeld is geïnstalleerd op station C, typt u de volgende opdracht en drukt u op Enter:
    cd /d %windir%\microsoft.net\framework\v1.1.4322\config
  3. Typ de volgende opdracht om een reservekopie te maken van het bestand Machine.config en druk op Enter:
    copy machine.config machine.config.bak
Herhaal deze stappen voor elk exemplaar van .NET Framework dat op uw systeem is geïnstalleerd.

Installatiegegevens

Microsoft heeft een installatiepakket met de naam VPModule.msi uitgebracht. Het bestand VPModule.msi installeert het bestand Microsoft.Web.ValidatePathModule.dll op uw systeem. De installatie werkt het bestand of de bestanden Machine.config bij met een nieuwe vermelding voor de HTTP-module in alle geïnstalleerde versies van .NET Framework.

Als u het installatiepakket wilt gebruiken, downloadt u het bestand VPModule.msi, dubbelklikt u op het pakket om de installatie te starten en volgt u de aanwijzingen voor de installatie.

Werking van VPModule.msi

Het installatieprogramma pakt eerst een bestand met de naam Microsoft.Web.ValidatePathModule.dll uit. Vervolgens worden alle in het systeem voorkomende exemplaren van het bestand Machine.config bijgewerkt, zodat de bestanden een vermelding zoals de volgende bevatten:
    <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>
Het installatieprogramma voegt het bestand Microsoft.Web.ValidatePathModule.dll vervolgens toe aan de GAC (Global Assembly Cache).

Ontwikkelaars die willen weten welke code in het bestand Microsoft.Web.ValidatePathModule.dll is opgenomen, kunnen de broncode hieronder bekijken:
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");
            }
        }
    }
}
Op de volgende Microsoft-website vindt u informatie over opdrachtregelparameters die u kunt gebruiken bij het installeren van de module:
http://msdn2.microsoft.com/en-us/library/aa367988.aspx

Verificatie van de installatie

Wanneer de module juist is geïnstalleerd, is de volgende registersleutel aanwezig:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{30EFFF0C-573D-46FB-8AD5-00887289261A}
Opmerking Deze registersleutel is niet op het systeem aanwezig als u de HTTP-module handmatig installeert zoals beschreven in de sectie 'Aangepaste installatie'. Met de optie /a worden alleen bestanden uitgepakt. Het register wordt hiermee niet bijgewerkt.

Informatie over verwijderen

Als u deze wijzigingen wilt verwijderen, voert u het bestand VPModule.msi uit en selecteert u de optie Remove. U kunt ook de optie Software in het Configuratiescherm gebruiken.

Installatie zonder toezicht

Gebruik de volgende opdracht om deze wijzigingen te installeren in de modus voor installatie zonder toezicht:
msiexec /i vpmodule.msi /qb-
Gebruik de volgende opdracht om deze wijzigingen in de modus voor installatie zonder toezicht te verwijderen:
msiexec /x vpmodule.msi /qb-

Aangepaste installatie

Ga als volgt te werk om de HTTP-module handmatig te installeren:
  1. Maak een reservekopie van het bestand of de bestanden Machine.config. Zie de sectie 'Voorwaarden' in dit artikel voor meer informatie over de te volgen werkwijze.
  2. Download het pakket. Zie de sectie 'Downloadgegevens' in dit artikel voor meer informatie over de te volgen werkwijze.
  3. Gebruik de volgende opdracht om het bestand Microsoft.Web.ValidatePathModule.dll uit het bestand VPModule.msi uit te pakken op de gewenste locatie:
    msiexec /a vpmodule.msi
  4. Gebruik de volgende opdracht om de module naar de GAC te kopiëren:
    gacutil -i microsoft.web.validatepathmodule.dll
    Opmerking De module wordt uitgepakt in de map 'Microsoft ValidatePath Module' op de locatie die u hebt opgegeven.
  5. Bewerk het bestand of de bestanden Machine.config om de volgende vermelding toe te voegen aan de sectie <httpModules>:
    <add name="ValidatePathModule" type="Microsoft.Web.ValidatePathModule, Microsoft.Web.ValidatePathModule, Version=1.0.0.0, Culture=neutral, PublicKeyToken=eba19824f86fdadd"/>
    

Bekende problemen

De volgende problemen zijn bekend:
  • Het installatieprogramma zorgt ervoor dat het bestand of de bestanden Machine.config met succes worden bijgewerkt met een vermelding <httpModule> voor het bestand Microsoft.Web.ValidatePathModule.dll. Onder bepaalde omstandigheden voorkomt dit echter niet dat het beschreven probleem optreedt.

    Dit probleem kan optreden als het bestand Web.config aanwezig is en als dit bestand de lijst wist die wordt gedefinieerd op het niveau van Machine.config. Zo kan de volgende vermelding in een Web.config-bestand dit probleem veroorzaken:
    <httpModules>
        <clear/>
    </httpModules>
    
    Deze configuratie voorkomt dat de oplossingsmodule wordt uitgevoerd in deze specifieke toepassing. Deze configuratie komt doorgaans voor wanneer een toepassing geen gebruik wil maken van de HTTP-modules die op het niveau van Machine.config worden gedefinieerd, maar in plaats daarvan de lijst wil wissen en een nieuwe lijst wil definiëren die specifiek betrekking heeft op de huidige toepassing.
  • Als u een andere versie van .NET Framework wilt installeren, moet u het bestand VPModule.msi verwijderen en opnieuw installeren.
  • Voor meer informatie over problemen met SQL Server Reporting Services en VPModule.msi klikt u op het volgende artikelnummer in de Microsoft Knowledge Base:
    887787 Er verschijnt een foutbericht van Reporting Services nadat u de ASP.NET ValidatePath-module hebt geïnstalleerd

Referenties

Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie:
887405 Windows Installer en Groepsbeleid gebruiken om de module VPModule.msi in een Active Directory-domein te implementeren.
Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie:
887404 Systems Management Server 2003 gebruiken om de ValidatePath-module te implementeren
Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie:
887290 De modulescanner (VPModulescanner.js) van ASP.NET gebruiken
Meer informatie over de sessiestatus kunt u vinden op de volgende Microsoft-website:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconsessionstate.asp

Eigenschappen

Artikel ID: 887289 - Laatste beoordeling: maandag 3 december 2007 - Wijziging: 3.7
De informatie in dit artikel is van toepassing op:
  • 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
Trefwoorden: 
kbsecurity kbtshoot KB887289

Geef ons feedback

 

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