オーディエンス

永続的グローバル変数(Windows および Macintosh)またはカスタム JavaScripts(Windows のみ)を使用するワークフローに関わっているマシンの企業管理者。

概要

アドビはセキュリティに対して非常に関心が高いため、既存の Acrobat および Adobe Reader の機能の変更を定期的にリリースして、悪質な攻撃に対する製品の抵抗力をさらに強化しています。 この取り組みの一環として、10.1.1 では、グローバル変数を格納し、ユーザー定義のスクリプトを実行する JavaScript 機能に対する変更を導入しています。

10.1.1 よりも前のリリースでは、エンドユーザーは、JavaScript ファイルを %ApplicationData%\Adobe\(製品名)\(バージョン)\JavaScripts に配置でき、これらのファイルはアプリケーションの起動時に自動的に実行されていました。例えば、IT 部門は、Windows XP マシン上でメニュー項目を非表示にしたり追加することによって、製品のユーザーインターフェイスを変更する JS ファイルを、C:\Documents and Settings\(ユーザー名)\Application Data\Adobe\Acrobat\10.0\JavaScripts に配置することができました。さらにこのフォルダーには、グローバル変数の保存時に製品が読み書きできる glob.js と glob.settings.js という 2 つのファイルが含まれます。

10.1.1 の変更

設計上、Acrobat プロセスは、%ApplicationData%\ Acrobat\Privileged\10.0 フォルダーに書き込むことができません。さらに、サンドボックス化したプロセスは特に、そのフォルダーへの書き込みが禁じられています。したがって、最も安全な操作は、Acrobat の保護ビューと Reader の保護ビューを有効にし、その結果、すべてのプロセスをサンドボックス化するというものになります。さらに、10.1.1 は次の変更を導入します。

  • 新しいユーザー JS の場所:ユーザー JavaScript フォルダーが次のように変更されます。
    • Vista および Windows 7:Users\(ユーザー名)\AppData\Roaming\Adobe\Acrobat\10.0\JavaScripts から Users\(ユーザー名)\AppData\Roaming\Adobe\Acrobat\Privileged\10.0\JavaScripts。例えば、新しいパスは C:\Users\JoeUser\AppData\Roaming\Adobe\Acrobat\Privileged\10.0\JavaScripts のようになります。
    • XP:Documents and Settings\(ユーザー名)\Application Data\Adobe\Acrobat\10.0\JavaScripts から Documents and Settings\(ユーザー名)\Application Data\Adobe\Acrobat\Privileged\10.0\JavaScripts。例えば、新しいパスは C:\Documents and Settings\JoeUser\Application Data\Adobe\Acrobat\Privileged\10.0\JavaScripts のようになります。

注意:これは Windows のみの変更です。また、この変更は、C:\Program Files\Adobe\(製品名とバージョン)\(製品名)\JavaScripts のビヘイビアーには影響しません。

  • 永続的グローバル変数の新しい形式と場所:glob.settings.js と glob.js は現在、%ApplicationData%\Adobe\Acrobat\10.0\JSCache の新しいディレクトリに置かれています。ASCab から読み取られるキー値のペアは、永続的グローバル変数を初期化するために使用されます。このディレクトリに JavaScript ファイルとして保存される設定はありません。

実行の必要な操作

永続的グローバル変数として変数を保存していない場合や、影響を受けるディレクトリにカスタム JavaScript を配置していない場合は、この変更を無視できます。ただし、どちらかを行っている場合は、次の手順を行うことによって、ワークフローの整合性を維持します。

グローバル変数の問題の場合(Windows および Macintosh)

  • glob.js と glob.settings.js が、キー値ペアとスカラー値以外に何も格納していないことを確認します。これらのファイルを使用して他のメソッドを格納するワークフローが壊れます。
  • 10.1.1 の適用時に glob.js と glob.setting.js 内に存在するデータはすべて失われるので、次の手順を行ってワークフローの整合性を維持してください。

1. Acrobat の場合、次のどちらかを行います。

  • 古い JavaScript フォルダーから既存の glob.js と glob.setting.js ファイル内の JavaScript をコピーして、新しい Acrobat セッションの JavaScript コンソールでこれを実行します。これにより、新しい Acrobat セッションに保存したグローバル変数がエクスポートされます。または、
  • glob.js と glob.setting.js を古い JavaScripts フォルダーから %Program Files%/Adobe/Reader/JavaScript フォルダーにコピーし、元のファイルを削除します。製品を再起動して、変数を新しい形式にエクスポートします。

注意:Adobe Reader の場合、http://blogs.adobe.com/pdfdevjunkie/2008/10/how_to_use_the_javascript_debu.html で述べているように、JavaScript コンソールは有効にしていない限り使用できないので、後者の方法だけを使用できます。

2. すべてのグローバル変数に対して手動で JavaScript setPersistent メソッドを実行して、新しい形式に正しく移行したことを確認します。例えば、コンソールで次の JavaScript を実行します。

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

ユーザー JavaScript の問題の場合(Windows のみ)

ユーザーが作成したすべての JavaScript ファイルを、%APPDATA%\Adobe\Acrobat\10.0\JavaScripts から %APPDATA%\Adobe\Acrobat\Privileged\10.0\JavaScripts にコピーします。

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー