Modifications apportées à JavaScript pour l’utilisateur dans Acrobat ou Reader 10.1.1

Public

Les administrateurs d’entreprise qui gèrent des ordinateurs occupés dans les flux de travaux qui utilisent des variables globales persistantes (Windows et Macintosh) ou des JavaScripts personnalisés (Windows uniquement).

Présentation

En raison de l’intérêt élevé d’Adobe en matière de sécurité, les modifications apportées aux fonctionnalités existantes d’Acrobat et d’Adobe Reader sont régulièrement ajoutées pour améliorer davantage la résistance du produit aux attaques malveillantes. Dans le cadre de cette amélioration, la version 10.1.1 contient des modifications apportées à la fonction JavaScript qui stocke des variables globales et exécute les scripts définis par l’utilisateur.

Avant la version 10.1.1, les utilisateurs finaux pouvaient placer des fichiers JavaScript dans %ApplicationData%\Adobe\(nom du produit)\(version)\JavaScripts et ces fichiers s’exécutaient automatiquement au démarrage de l’application. Par exemple, le service informatique peut placer un fichier JS pour modifier l’interface utilisateur du produit en masquant ou en ajoutant des éléments de menu sur un ordinateur Windows XP dans C:\Documents and Settings\(nom d’utilisateur)\Application Data\Adobe\Acrobat\10.0\JavaScripts. En outre, le dossier contient glob.js et glob.settings.js, deux fichiers auxquels le produit peut accéder en lecture et en écriture lors du stockage des variables globales.

Modifications pour la version 10.1.1

Par défaut, les processus d’Acrobat n’accèdent pas en écriture au dossier %ApplicationData%\ Acrobat\Privileged\10.0. En outre, les processus de sandbox sont spécifiquement interdits d’écriture dans ce dossier. De ce fait, l’opération la plus sûre consiste à activer la vue protégée dans Acrobat et le mode protégé dans Reader et placer ainsi tous les processus dans des sandbox. En outre, la version 10.1.1 présente les modifications suivantes :

  • Nouvel emplacement JS d’utilisateur : le dossier JavaScript d’utilisateur est déplacé de
    • Vista et Windows 7 : Users\(nom d’utilisateur)\AppData\Roaming\Adobe\Acrobat\10.0\JavaScripts vers Users\(nom d’utilisateur)\AppData\Roaming\Adobe\Acrobat\Privileged\10.0\JavaScripts. Par exemple, le nouveau chemin peut être C:\Users\JoeUser\AppData\Roaming\Adobe\Acrobat\Privileged\10.0\JavaScripts
    • XP : Documents and Settings\(nom d’utilisateur)\Application Data\Adobe\Acrobat\10.0\JavaScripts vers Documents and Settings\(nom d’utilisateur)\Application Data\Adobe\Acrobat\Privileged\10.0\JavaScripts. Par exemple, le nouveau chemin peut être : C:\Documents and Settings\UtilisateurX\Application Data\Adobe\Acrobat\Privileged\10.0\JavaScripts

Remarque : cette modification concerne uniquement Windows. Par ailleurs, les modifications n’ont pas d’incidence sur le comportement de C:\Program Files\Adobe\(nom du produit et version)\(nom du produit)\JavaScripts.

  • Nouveaux format et emplacement des variables globales persistantes : les paramètres de variable stockés dans glob.settings.js et glob.js se trouvent désormais dans un nouveau répertoire dans %ApplicationData%\Adobe\Acrobat\10.0\JSCache. Les paires de valeurs clés lues depuis ASCab sont utilisées pour l’initialisation des variables globales persistantes. Aucun paramètre n’est enregistré sous forme de fichiers JavaScript dans ce répertoire.

Que devez-vous faire ?

Si vous n’avez pas enregistré les variables en tant que variables globales persistantes ou placé des fichiers JavaScript personnalisés dans les répertoires concernés, vous pouvez alors ignorer cette modification. Toutefois, si vous vous trouvez dans un des cas de figure, préservez l’intégrité de vos flux de travaux en procédant comme suit :

Pour les problèmes de variables globales (Windows et Macintosh)

  • Vérifiez que glob.js et glob.settings.js ne stockent rien d’autre que des paires de valeurs clés et des valeurs scalaires. Les flux de travaux utilisant ces fichiers pour stocker d’autres méthodes seront être interrompus.
  • Étant donné que toutes les données qui se trouvent dans glob.js et glob.setting.js au moment d’appliquer la version 10.1.1 seront perdues, préservez l’intégrité de vos flux de travaux en procédant comme suit :

1. Pour Acrobat, vous pouvez effectuer l’une des opérations suivantes :

  • Copiez le JavaScript dans les fichiers existants glob.setting.js et glob.js de l’ancien dossier JavaScripts et exécutez-le dans la console JavaScript dans une nouvelle session Acrobat. Cette action exportera les variables globales stockées dans la nouvelle session Acrobat. Ou,
  • Copiez glob.js et glob.setting.js de l’ancien dossier JavaScripts dans le dossier %Program Files%/Adobe/Reader/JavaScript, puis supprimez les fichiers d’origine. Redémarrez le produit pour exporter les variables dans le nouveau format.

Remarque : pour Adobe Reader, vous pouvez utiliser uniquement la dernière méthode, car la console JavaScript n’est pas disponible sauf si vous l’avez activée comme décrit à l’adresse http://blogs.adobe.com/pdfdevjunkie/2008/10/how_to_use_the_javascript_debu.html.

2. Effectuez manuellement la méthode setPersistent JavaScript sur toutes les variables globales pour vérifier qu’elles ont été correctement migrées vers le nouveau format. Par exemple, exécutez le JavaScript suivant dans la console :

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

Pour les problèmes de JavaScript d’utilisateur (Windows uniquement)

Copiez tous les fichiers JavaScript créés par l’utilisateur de %APPDATA%\Adobe\Acrobat\10.0\JavaScripts dans %APPDATA%\Adobe\Acrobat\Privileged\10.0\JavaScripts.

 Adobe

Recevez de l’aide plus rapidement et plus facilement

Nouvel utilisateur ?