Otevírání souborů nápovědy ve formátu CHM je ve Windows XP a novějších systémech automaticky blokováno. Microsoft přistoupil k tomuto kroku po odhalení potenciálních bezpečnostních rizik. Ukažme si, jak je vše realizováno a kterak je možné dosáhnout vypnutí tohoto výchozího chování.

Zní to neuvěřitelně, ale nápověda ve formátu Microsoft Compiled HTML Help s příponou CHM letos oslaví třinácté narozeniny od svého uvedení. Během let Microsoft tento formát rozvíjel, ale v roce 2002 se ukázalo, že skrývá určitá potenciální bezpečnostní rizika. Proto bylo rozhodnuto, že otevírání těchto souborů bude automaticky blokováno. Pokud uživatel bude i přesto chtít zobrazit obsah souboru obsahujícího nápovědu, musí nejdříve provést jeho odblokování.

Blokovací bezpečnostní mechanizmus byl do Windows XP doplněn jednou z aktualizací. V případě Windows Vista a Windows 7 jde o nedílnou součást operačního systému.

Microsoft definuje několik zón, ze kterých může CHM soubor pocházet. Na základě původu souboru je následně rozhodnuto o zablokování přístupu k jeho obsahu.
navigace-na-webovou-stranku-byla-zrusena

Například pokud byl soubor zkopírován na pevný disk instalátorem Windows, spadá do zóny My Computer. Ta má tu výhodu, že do ní spadající soubory nejsou blokovány. Pracovat s nimi můžete tedy naprosto bez omezení. Stejné chování je charakteristické i pro flashdisky a další výměnná zařízení nedisponující souborovým systémem NTFS. Naproti tomu obsah souboru na flashdisku se systémem NTFS bude blokován.

Naproti tomu soubory nápovědy stažené z lokální sítě nebo internetu automaticky získávají atribut dokumentující jejich zónu původu Local Intranet, Trusted Sites, Internet či Restricted Sites. Zobrazování jejich obsahu je zakázáno, a pokud si do nich přejete nahlédnout, musíte ručně pro každý ze souborů tuto činnost povolit. V případě, že vám pod rukama během dne projde celá řada různých CHM souborů, oceníte možnost změnit výchozí chování operačního systému a blokování souborů zcela vypnete.

Technické pozadí

Z výše popsaného principu je patrné, že si Windows pamatují informaci o původu každého staženého souboru. Kde je ale uchovávána? V hlavičce každého ze souborů, v registrech nebo snad v nějakém speciálním souboru?

Odpověď skrývá souborový systém NTFS respektive technologie Alternative Data Streams. Každý soubor může (ale nemusí) mít přidružen jeden či více datových streamů. Představte si jej jako objekt, do kterého je možné zapisovat a číst informace, podobně jako do obyčejného souboru.

Jakmile si do počítače stáhnete CHM soubor z internetu, systém založí jeho datový proud a zapíše do něj informaci o zóně jeho původu. Dejme tomu, že soubor umístěný na pracovní ploše se jmenuje php_manual_en.chm. Jak zjistíme, zda má vůbec datový stream vytvořen? Stačí do příkazové řádky v režimu správce zadat příkaz dir /r. Datový stream poznáte podle jména složeného z názvu souboru následovaného dvojtečkou a názvem proudu.
cmd-dir-r

Nyní víme, že stream souboru existuje a zobrazíme si jeho obsah pomocí poznámkového bloku tímto příkazem. Řetězec zone.identifier plní roli názvu datového proudu.

notepad C:\Users\Jirka\Desktop\php_manual_en.chm:zone.identifier

 Otevře se okno poznámkového bloku s obsahem podobným tomu na obrázku.
zone-identifier-poznamkovy-blok

V sekci ZoneTransfer je obsažen atribut ZoneId s hodnotou 3. Hodnota specifikuje bezpečnostní zónu, do níž soubor php_manual_en.chm spadá. Pohledem do tabulky níže zjistíte, že byl stažen do počítače z internetu. Přístup k jeho obsahu tedy bude zablokován, protože Windows podporují ve výchozím nastavení pouze otevírání CHM souborů pocházejících z vašeho počítače – zóny 0.

Zone ID Název zóny
0 My Computer
1 Local Intranet Zone
2 Trusted sites Zone
3 Internet Zone
4 Restricted Sites Zone

Odblokování jednoho souboru

Soubor nápovědy umístěný přímo na pevném disku vašeho počítače je možné otevřít bez větších komplikací. Pokud ale pochází z internetu či jiného síťového zdroje, systém to zjistí díky atributu Zone ID z datového streamu souboru a znemožní zobrazení obsahu souboru. Pro každý jednotlivý stažený soubor můžete pomocí tohoto postupu provést ruční odblokování – tedy sdělit systému, aby soubor přijal za důvěryhodný a přestal jej blokovat.

  1. Klepněte na požadovaný soubor pravým tlačítkem myši a z kontextové nabídky vyberte Vlastnosti.
  2. V pravé dolní části otevřeného dialogového okna si všimněte tlačítka Odblokovat.
    odblokovat
  3. Jeho stisknutím a následným potvrzením tlačítka OK dojde k trvalému odblokování přístupu k obsahu souboru.

Poznámka: Všimli jste si, že u souborů nápovědy otevíraných ze sdílené síťové složky chybí tlačítko Odblokovat? Takové musíte zkopírovat přímo do vašeho počítače nebo zvolit postup uvedený o několik řádků níže.

Vypnutí blokování všech souborů

Pracujete-li často s různými soubory nápovědy, výše popsaný postup aplikovaný na každý jeden soubor by vám mohl značně komplikovat život. Proto máte možnost změnit výchozí chování Windows a sdělit systému, aby povolil přímý přístup k CHM souborům spadajících například do zóny Internet a všech nižších.

  1. Do vyhledávacího pole v nabídce Start napište regedit, čímž spustíte Editor registru.
  2. Stromovou hierarchií projděte do větve HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\. Zde vytvořte pomocí pravého tlačítka nový klíč s názvem ItssRestrictions.
  3. Klepněte pravým tlačítkem na nově vytvořený klíč ItssRestrictions, z kontextové nabídky zvolte Nový. podnabídky vyberte Hodnota DWORD (32 bitová) a nazvěte ji MaxAllowedZone.
  4. Poklepáním na nově vytvořenou hodnotu MaxAllowedZone a zadáním čísla 3 specifikujte, že si přejete nastavit všechny zóny se Zone ID v rozsahu 0-3 jako důvěryhodné.
    registry-maxallowedzone
  5. Tím zajistíte, že přístup k obsahu souborů nápovědy stažených z internetu nebude blokován. Stejně tak soubory ze sdílených síťových složek budou zobrazitelné přímo.
    uspesne-otevreno

Tip: Celý postup můžete elegantně provést zadáním tohoto příkazu do Příkazového řádku v režimu správce:

reg add HKLM\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions /v MaxAllowedZone /t REG_DWORD /d 3 /f

Tento článek byl napsán pro časopis Computer.

Přečteno 7 611x, z toho 1x dnes.