Modul HTTP sloužící ke zjišťování problémů souvisejících s kanonikalizací pomocí technologie ASP.NET

Překlady článku Překlady článku
ID článku: 887289 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Společnost Microsoft zpřístupnila modul HTTP implementující doporučené postupy kanonikalizace, který zákazníkům pomáhá chránit aplikace založené na technologii ASP.NET. Další informace získáte v následujícím článku znalostní báze společnosti Microsoft:
887459 Programové řešení kontroly problémů s kanonickým pojmenováním v aplikaci ASP.NET
Další informace o určení verze rozhraní ASP.NET najdete v následujícím článku znalostní báze společnosti Microsoft:
318785 Určení, zda jsou pro rozhraní .NET Framework nainstalovány aktualizace Service Pack (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)

Příznaky

Jestliže webový server obdrží adresu URL, namapuje požadavek na cestu systému souborů, která určuje odpověď. Rutina kanonikalizace používaná k mapování požadavku musí adresu URL správně analyzovat, aby nedošlo k obsluze nebo zpracování neočekávaného obsahu. Nezpracované požadavky kanonikalizace mohou vrátit neočekávané výsledky. Další informace o kanonikalizaci naleznete na následujícím webu společnosti Microsoft:
http://msdn2.microsoft.com/en-us/library/aa302420.aspx

Řešení

Microsoft.Web.ValidatePathModule.dll - modul HTTP

Informace o souborech ke stažení

V centru pro stahování Microsoft Download Center je k dispozici ke stažení následující soubor:

Zmenšit tento obrázekZvětšit tento obrázek
Stáhnout
Stáhnout balíček VPModule.msi.

Datum vydání: 7. října 2004

Další informace, jak stahovat soubory odborné pomoci společnosti Microsoft, naleznete v následujícím článku znalostní báze společnosti Microsoft:
119591 Jak získat soubory odborné pomoci společnosti Microsoft ze serverů služeb online
Tento soubor byl zkontrolován na výskyt virů. Společnost Microsoft použila ke kontrole tohoto souboru nejnovější antivirový software, který byl v době jeho publikování k dispozici. Po publikování je soubor uložen na zabezpečených serverech neumožňujících neoprávněné změny souborů.

Požadavky

Soubor VPModule.msi je navržen pro 32bitové rozhraní Microsoft .NET Framework.

Před instalací souboru VPModule.msi zálohujte všechny instance souboru Machine.config v počítači. Záložní kopii souboru Machine.config vytvoříte takto:
  1. Klepněte na tlačítko Start, klepněte na příkaz Spustit, zadejte příkaz cmd a pak klepněte na tlačítko OK.
  2. Vyhledejte všechny verze souboru Machine.config. Soubory Machine.config jsou uloženy v následující složce, kde <číslo verze rozhraní> je verze nainstalovaného rozhraní Microsoft .NET Framework:
    %windir%\Microsoft.NET\Framework\<číslo verze rozhraní>\CONFIG
    Pokud je například rozhraní .NET Framework 1.1 nainstalováno na jednotce C, zadejte následující příkaz a pak stiskněte klávesu ENTER:
    cd /d %windir%\microsoft.net\framework\v1.1.4322\config
  3. Zadáním následujícího příkazu vytvořte záložní kopii souboru Machine.config a pak stiskněte klávesu ENTER:
    copy machine.config machine.config.bak
Zopakujte tyto kroky pro jednotlivé instance rozhraní .NET Framework, které jsou nainstalovány v systému.

Informace o instalaci

Společnost Microsoft vydala instalační balíček s názvem VPModule.msi. Soubor VPModule.msi nainstaluje do systému soubor Microsoft.Web.ValidatePathModule.dll. Instalace aktualizuje soubory Machine.config novou položkou modulu HTTP ve všech nainstalovaných verzích rozhraních .NET Framework.

Chcete-li použít instalační balíček, stáhněte soubor VPModule.msi, spusťte instalaci poklepáním na balíček a postupujte podle pokynů k instalaci.

Jaké kroky soubor VPModule.msi provede

Instalační služba nejprve extrahuje soubor s názvem Microsoft.Web.ValidatePathModule.dll. Instalační služba pak aktualizuje všechny soubory Machine.config v systému tak, aby všechny soubory obsahovaly položku podobnou následující položce:
<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>
Instalační služba pak přidá soubor Microsoft.Web.ValidatePathModule.dll do paměti Global Assembly Cache (GAC).

Pro vývojáře, kteří chtějí pochopit, jaké programové kroky soubor Microsoft.Web.ValidatePathModule.dll provede, je k dispozici následující zdrojový kód:
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"); } } } }
Informace o všech přepínačích příkazového řádku, které lze k instalaci modulu použít, najdete na následujícím webu společnosti Microsoft:
http://msdn2.microsoft.com/en-us/library/aa367988.aspx

Informace o ověření instalace

Pokud je modul správně nainstalován, existuje následující klíč registru:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{30EFFF0C-573D-46FB-8AD5-00887289261A}
Poznámka: Tento klíč registru v systému neexistuje, jestliže modul HTTP nainstalujete ručně podle pokynů v části Informace o vlastní instalaci. Možnost /a pouze extrahuje soubory. Neaktualizuje registr.

Informace o odinstalaci

Chcete-li tyto změny odebrat, spusťte soubor VPModule.msi a vyberte možnostOdebrat. Můžete také použít funkci Přidat nebo odebrat programy v Ovládacích panelech.

Informace o bezobslužné instalaci

Pomocí následujícího příkazu nainstalujete tyto změny v bezobslužném režimu:
msiexec /i vpmodule.msi /qb-
Pomocí následujícího příkazu odinstalujete tyto změny v bezobslužném režimu:
msiexec /x vpmodule.msi /qb-

Informace o vlastní instalaci

Chcete-li modul HTTP nainstalovat ručně, postupujte takto:
  1. Zálohujte soubory Machine.config. Další informace o postupu pro zálohování souborů najdete v části Požadavky.
  2. Stáhněte balíček. Další informace o tomto postupu najdete v části Informace o souborech ke stažení.
  3. Pomocí následujícího příkazu extrahujte soubor Microsoft.Web.ValidatePathModule.dll ze souboru VPModule.msi do vybraného umístění:
    msiexec /a vpmodule.msi
  4. Pomocí následujícího příkazu zkopírujte modul do paměti GAC:
    gacutil -i microsoft.web.validatepathmodule.dll
    Poznámka: Modul bude extrahován do složky s názvem Microsoft ValidatePath Module v zadaném umístění.
  5. Upravte soubory Machine.config tak, aby do části <httpModules> byla přidána následující položka:
    <add name="ValidatePathModule" type="Microsoft.Web.ValidatePathModule, Microsoft.Web.ValidatePathModule, Version=1.0.0.0, Culture=neutral, PublicKeyToken=eba19824f86fdadd"/>

Známé problémy

Tento postup zahrnuje následující známé problémy:
  • Instalační služba zkontroluje, zda byly soubory Machine.config úspěšně konfigurovány položkou <httpModule> pro soubor Microsoft.Web.ValidatePathModule.dll. Za určitých okolností však tento postup nemusí zabránit výskytu popsaného chování.

    K tomuto chování může dojít, pokud existuje soubor Web.config a tento soubor vymaže seznam definovaný na úrovni souboru Machine.config. Toto chování může způsobit například položka v souboru Web.config podobná následující položce:
    <httpModules> <clear/> </httpModules>
    Tato konfigurace zabrání modulu ve spuštění této konkrétní aplikace. Tato konfigurace se běžně vyskytuje v případě, že aplikace nechce používat moduly HTTP definované na úrovni souboru Machine.config, ale místo toho chce vymazat seznam a pak definovat nový seznam, který bude specifický pro aktuální aplikaci.
  • Jestliže nainstalujete jinou verzi rozhraní .NET Framework, je třeba odinstalovat a pak znovu nainstalovat soubor VPModule.msi.
  • Další informace o problémech se službou zasílání zpráv serveru SQL Server a souborem VPModule.msi najdete v následujícím článku znalostní báze společnosti Microsoft:
    887787 Po instalaci modulu ASP.NET ValidatePath se mohou zobrazit chybové zprávy služby zasílání zpráv (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)

Odkazy

Další informace najdete v následujícím článku znalostní báze společnosti Microsoft:
887405 Použití Instalační služby systému Windows a zásad skupiny k instalaci modulu VPModule.msi do domény Active Directory
Další informace získáte v následujícím článku znalostní báze společnosti Microsoft:
887404 Použití serveru Systems Management Server 2003 k nasazení modulu ValidatePath
Další informace získáte v následujícím článku znalostní báze společnosti Microsoft:
887290 Použití nástroje pro kontrolu modulu ASP.NET ValidatePath (VPModuleScanner.js) (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)
Další informace o stavech relací naleznete na následujícím webu společnosti Microsoft:
http://msdn2.microsoft.com/en-us/library/87069683(vs.71).aspx

Vlastnosti

ID článku: 887289 - Poslední aktualizace: 3. prosince 2007 - Revize: 3.8
Informace v tomto článku jsou určeny pro produkt:
  • 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
Klíčová slova: 
kbsecurity kbtshoot KB887289

Dejte nám zpětnou vazbu

 

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