Zmiany w skrypcie JavaScript wprowadzane przez użytkownika dla programu Acrobat lub Reader 10.1.1

Odbiorcy

Administratorzy z przedsiębiorstw, którzy zarządzają urządzeniami należącymi do obiegu pracy, w którym używa się trwałych globalnych zmiennych (Windows i Macintosh) lub niestandardowych skryptów JavaScripts (tylko Windows).

Opis ogólny

Ze względu na to, że firmie Adobe bardzo zależy na bezpieczeństwie, co pewien czas w istniejącej funkcjonalności programów Acrobat i Adobe Reader wprowadzane są zmiany, aby jeszcze bardziej wzmocnić odporność produktu na ataki przy użyciu złośliwego oprogramowania. W ramach tego wysiłku w wersji 10.1.1 wprowadzono zmiany w funkcji skryptu JavaScript, która przechowuje globalne zmienne i wykonuje skrypty definiowane przez użytkownika.

Przed wersją 10.1.1 użytkownicy końcowi mogli umieścić pliki JavaScript w folderze %ApplicationData%\Adobe\(nazwa produktu)\(wersja)\JavaScripts i pliki te były wykonywane automatycznie podczas uruchamiania aplikacji. Np. dział informatyczny może umieścić plik JS do modyfikacji interfejsu użytkownika produktu przez ukrycie lub dodanie elementów menu na urządzeniu z systemem Windows XP w folderze C:\Documents and Settings\(nazwa użytkownika)\Application Data\Adobe\Acrobat\10.0\JavaScripts. Ponadto folder zawiera glob.js i glob.settings.js – dwa pliki, z których produkt może odczytywać i na które może zapisywać podczas przechowywania globalnych zmiennych.

Zmiany w wersji 10.1.1

Z założenia operacje programu Acrobat nie zapisują do folderu %ApplicationData%\Acrobat\Privileged\10.0. Ponadto operacje związane ze środowiskiem testowym nie mogą zapisywać w tym folderze. Zatem najbezpieczniejsza operacja obejmuje włączanie Widoku chronionego w programie Acrobat oraz Trybu chronionego w programie Reader, a więc wprowadzenie środowiska testowego dla wszystkich operacji. Ponadto w wersji 10.1.1 wprowadzono następujące zmiany:

  • Nowa lokalizacja użytkownika JS: Folder użytkownika JavaScript został przeniesiony z folderu
    • Vista oraz Windows 7: Users\(nazwa użytkownika)\AppData\Roaming\Adobe\Acrobat\10.0\JavaScripts do Users\(nazwa użytkownika)\AppData\Roaming\Adobe\Acrobat\Privileged\10.0\JavaScripts. Np. nową ścieżką może być C:\Users\JoeUser\AppData\Roaming\Adobe\Acrobat\Privileged\10.0\JavaScripts
    • XP: Documents and Settings\(nazwa użytkownika)\Application Data\Adobe\Acrobat\10.0\JavaScripts do Documents and Settings\(nazwa użytkownika)\Application Data\Adobe\Acrobat\Privileged\10.0\JavaScripts. Np. nową ścieżką może być: C:\Documents and Settings\JoeUser\Application Data\Adobe\Acrobat\Privileged\10.0\JavaScripts

Uwaga: Ta zmiana dotyczy tylko systemu Windows. Zmiana nie ma również wpływu na działanie folderu C:\Program Files\Adobe\(nazwa i wersja produktu)\(nazwa produktu)\JavaScripts.

  • Nowy format i lokalizacja do trwałych globalnych zmiennych: Ustawienia zmiennych przechowywane w glob.settings.js oraz glob.js znajdują się teraz w nowym katalogu: %ApplicationData%\Adobe\Acrobat\10.0\JSCache. Kluczowe pary wartości odczytywane z ASCab są używane do inicjalizacji trwałych globalnych zmiennych. W tym katalogu żadne ustawienia nie są zapisywane jako pliki JavaScript.

Co należy zrobić

Jeśli zmienne nie były przechowywane jako trwałe globalne zmienne lub nie umieszczano niestandardowych skryptów JavaScripts w danych katalogach, można tę zmianę zignorować. Jednak jeśli takie operacje miały miejsce, należy zachować integralność obiegów pracy, wykonując następujące czynności:

Dla problemów z globalnymi zmiennymi (Windows i Macintosh)

  • Upewnij się, że pliki glob.js i glob.settings.js nie zawierają niczego poza kluczowymi parami wartości i wartościami skalarnymi. Obiegi pracy, w których wykorzystywane są te pliki do przechowywania innych metod zostaną zniszczone.
  • Ze względu na to, że dane przechowywane w plikach glob.js i glob.setting.js w momencie zastosowania 10.1.1 zostaną utracone, zachowaj integralność obiegu pracy, wykonując następujące czynności:

1. W programie Acrobat:

  • Skopiuj skrypt JavaScript do istniejących plików glob.js i glob.setting.js ze starego folderu JavaScripts i wykonaj go w konsoli JavaScript w nowej sesji programu Acrobat. Spowoduje do wyeksportowanie przechowywanych globalnych zmiennych do nowej sesji programu Acrobat. lub,
  • Skopiuj pliki glob.js i glob.setting.js ze starego folderu JavaScripts do folderu %Program Files%/Adobe/Reader/JavaScript, a następnie usuń pliki oryginalne. Uruchom ponownie produkt, aby wyeksportować zmienne do nowego formatu.

Uwaga: W programie Adobe Reader można używać tylko drugiej metody, gdyż konsola JavaScript nie jest dostępna, o ile nie zostanie włączona zgodnie z opisem pod adresem http://blogs.adobe.com/pdfdevjunkie/2008/10/how_to_use_the_javascript_debu.html.

2. Wykonaj ręcznie metodę JavaScript setPersistent na wszystkich globalnych zmiennych, aby zagwarantować, że będą prawidłowo migrowane do nowego formatu. Np. uruchom następujący skrypt JavaScript w konsoli:

for (var name in global) global.setPersistent("global."+name, true);

Problemy użytkownika ze skryptem JavaScript (tylko Windows)

Skopiuj wszystkie utworzone przez użytkownika pliki skryptów JavaScript z folderu %APPDATA%\Adobe\Acrobat\10.0\JavaScripts do %APPDATA%\Adobe\Acrobat\Privileged\10.0\JavaScripts.

Pomoc dostępna szybciej i łatwiej

Nowy użytkownik?