觀眾

企業管理員,所管理的機器中的工作流程使用永久全域變數 (Windows 與 Macintosh) 或自訂 JavaScript (僅限 Windows)。

概觀

Adobe 對於安全性極其注重,因此我們會定期發佈現有 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,產品在儲存全域變數時會讀寫這兩個檔案。

10.1.1 的變更

依照 Acrobat 的設計,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 所儲存的只有機碼數值組與純量值。使用這些檔案來儲存其它方法的工作流程將會中斷。
  • 因為位於 glob.js 與 glob.setting.js 中的所有資料在套用 10.1.1 時將會遺失,請進行下列動作來維持工作流程的一致性:

1. 針對 Acrobat 您可以:

  • 從舊的 JavaScripts 資料夾中複製現有 glob.js 與 glob.setting.js 檔案中的 JavaScript,然後在新 Acrobat 工作階段的 JavaScript 主控台中執行它。這會將儲存的全域變數轉存到新 Acrobat 工作階段。或,
  • 從舊的 JavaScripts 資料夾將 glob.js 與 glob.setting.js 複製到 %Program Files%/Adobe/Reader/JavaScript 資料夾,然後刪除原來的檔案。重新啟動產品將變數轉存為新格式。

注意: 因為 Adobe Reader 無法使用 JavaScript 主控台,所以您只能使用第二個方法,除非您依照 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 授權  Creative Commons 條款未涵蓋 Twitter™ 與 Facebook 文章。

法律說明   |   線上隱私權政策