Chybová zpráva při návštěvě webu, jehož hostitelem je ve službě IIS 7.0: "HTTP Chyba 404.11 – URL_DOUBLE_ESCAPED"

Příznaky

Máte webovou stránku, která je umístěn na Internetové informační službě (IIS) 7.0. Při návštěvě webu, může se zobrazit chybová zpráva podobná následující:
Chyba serveru
--------------------------------------------------------------------------------
Chyba protokolu HTTP 404.11 – URL_DOUBLE_ESCAPED
HRESULT: 0
Popis HRESULT # operace byla úspěšně dokončena.

Příčina

Požadavek protokolu HTTP na webovém serveru obsahuje sekvence double escape. Však funkce filtrování požadavků je nakonfigurován tak, aby webový server zakazuje sekvence escape dvojité.

Řešení

Chcete-li vyřešit tento problém, postupujte takto.

Poznámka: Po provedení těchto kroků může být snížena úroveň zabezpečení serveru se spuštěnou službou IIS. Proto před nastavením allowDoubleEscaping vlastnost na hodnotu True, zvažte rizika, které se účastní.
  1. Klepněte na tlačítko Start, do pole Zahájit hledání zadejte Poznámkový blok v seznamu programy klepněte pravým tlačítkem myši Poznámkový blok a potom klepněte na příkaz Spustit jako správce. Pokud se zobrazí výzva k zadání hesla správce nebo k potvrzení, zadejte heslo nebo klepněte na tlačítko pokračovat.
  2. V nabídce soubor klepněte na tlačítko Otevřítzadejte %windir%\System32\inetsrv\config\applicationHost.config do pole název souboru a klepněte na tlačítko Otevřít.
  3. V souboru ApplicationHost.config vyhledejte prvek XML requestFiltering .
  4. Změňte hodnotu allowDoubleEscaping vlastnost na hodnotu True. Chcete-li to provést, použijte kód, který se podobá následující příklad kódu.
    <requestFiltering allowDoubleEscaping="true">
  5. V nabídce soubor klepněte na tlačítko Uložit.
  6. Ukončete program Poznámkový blok.
Důležité: Při povolení dvojité řídící sekvence může snížit úroveň zabezpečení serveru se spuštěnou službou IIS.

Předchozí kroky budou přímo upravit soubor applicationHost.config a toto nastavení na úrovni serveru. Toto nastavení můžete také použít příkaz Appcmd . Chcete-li to provést, postupujte takto:
  1. Klepněte na tlačítko Start, klepněte na příkaz Spustita zadejte příkaz cmd do pole Otevřít .
  2. Zadejte následující příkaz a stiskněte klávesu ENTER:

    C: CD %windir%\system32\inetsrv

  3. Spusťte některý z následujících příkazů:
    • Appcmd set config "Default Web Site" /section:system.webServer/Security/requestFiltering -allowDoubleEscaping:True
      Poznámka: To bude toto nastavení pouze pro "výchozí webový server" Vytvoření nebo úpravy souboru Web.config v kořenové složce "Výchozí webový server."
    • appcmd set config "Default Web Site" /section:system.webServer/Security/requestFiltering -allowDoubleEscaping:True /commit:appHost
      Poznámka: To bude toto nastavení pouze pro "výchozí webový server" v souboru applicationHost.config pomocí značky umístění.
Vlastnosti

ID článku: 942076 - Poslední kontrola: 14. 1. 2017 - Revize: 2

Váš názor