Oplossing
Microsoft.Web.ValidatePathModule.dll - HTTP-module
Downloadgegevens
U kunt het volgende bestand downloaden van het Microsoft Downloadcentrum:
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:
- Klik op Start, vervolgens op Uitvoeren, typ cmd en klik op OK.
- 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
- 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:
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:
- 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.
- Download het pakket. Zie de sectie 'Downloadgegevens' in dit artikel voor meer informatie over de te volgen werkwijze.
- Gebruik de volgende opdracht om het bestand Microsoft.Web.ValidatePathModule.dll uit het bestand VPModule.msi uit te pakken op de gewenste locatie:
- 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. - 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: