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.