如何在 Collabora Online 程式碼中限製檔案匯出選項

若要限制 Collabora Online CODE 中的檔案匯出,請讓 WOPI 主機DisableExport: true在其CheckFileInfo回應中傳回受影響的檔案和使用者資訊。同時HideExportOption: true,也要從編輯器選單中移除「下載為」指令。第一個屬性禁用 Collabora 後端的匯出功能;第二個屬性控制可見性。僅設定可見性標誌並不構成存取控制措施。

CODE 是文檔編輯器。在標準整合中,單獨的 WOPI 主機(例如 Nextcloud、ownCloud 或自訂應用程式)儲存原始文件,並向 Collabora 提供文件元資料和權限。因此,匯出權限通常在主機整合中配置,而不是在 Collabora 容器中作為通用開關進行配置coolwsd.xml。

序列圖顯示了 Collabora Online 向 WOPI 主機請求 CheckFileInfo 並接收匯出權限欄位。
Collabora Online 向 WOPI 主機要求文件資訊;主機回應可能包含該文件會話的匯出限制。

選擇與操作相符的控件

WOPI 財產或控制權它的作用何時使用
HideExportOption隱藏檔案選單中的「下載為」。作為後端強制執行的補充,這樣使用者就不會看到不可用的命令。
DisableExport停用 Collabora 的匯出功能,並意味著HideExportOption。應該阻止從開啟的文件中匯出特定文件或會話。
UserCanNotWriteRelative告知主機使用者無法透過 WOPI 儲存關聯文件或使用「另存為」功能建立副本。主機必須拒絕該請求。必須阻止透過編輯器另存為或建立副本。
DisablePrint停用 Collabora 後端的列印功能,這表示列印選項已被隱藏。只有當列印也受到限制時,它才與匯出分開。

前兩個欄位僅用於阻止 Collabora 的「下載為/匯出」功能。只有當您的策略也涵蓋其他操作時,才新增其他控制項。選單項目缺失本身並不能證明下載已被阻止。

決定限制條件的適用範圍

首先確定儲存檔案並在 Collabora 中開啟該檔案的應用程式。在 WOPI 術語中,該應用程式稱為主機。 Collabora 會呼叫主機的CheckFileInfo端點來取得檔案資訊和權限。主機知道是誰打開了文檔,以及共享、帳戶或文件策略是否允許下載。

  • Nextcloud 或其他整合文件平台:如果您的已安裝版本提供「隱藏下載」或類似策略,請使用其支援的共用或安全性檢視設定。整合功能可以將該策略轉換為 WOPI 權限。在確定平台會阻止哪些匯出、列印、複製或直接下載路徑之前,請務必查看實際的主機回應或平台的最新文件。
  • 您自己的 WOPI 主機:更新建置 JSON 回應的程式碼CheckFileInfo。根據已認證使用者的權限和檔案共用策略計算限制。
  • CODE容器管理員無法控制主機:請聯絡主機管理員或整合開發人員強制執行此操作。僅編輯CODE容器可能會隱藏介面上的某些可選格式,但無法提供基於檔案的WOPI權限策略。

Collabora 目前的原始碼配置將其描述extra_export_formats為介面層級的選項:停用這些可選格式只會將其隱藏起來。請勿將此設定視為伺服器端匯出強制執行。它僅用於格式選單的顯示,而非替代主機權限。

在自訂 WOPI 主機中設定匯出權限

1. 找到 CheckFileInfo 回應處理程序

找到回應 Collabora WOPI 請求的路由GET /wopi/files/{id}。確認它如何驗證存取令牌,並將該令牌對應到目前使用者和檔案。不要信任瀏覽器提供的標誌,除非?disableExport=true主機根據其自身的授權規則對其進行驗證。

2. 根據東道主的政策做出決定

使用伺服器端存取控制資料來決定此人是否可以匯出此文件。文件擁有者、內部編輯者和公共連結檢視者可能擁有不同的權限。如果限制僅針對單一共享,則應根據該共享的策略來確定權限,而不是使用可能意外影響所有使用者的全域環境變數。

範例偽代碼將文件存取策略對應到 DisableExport、HideExportOption 和 UserCanNotWriteRelative。
範例偽代碼:從文件和使用者的實際存取策略中匯出 WOPI 標誌,而不是全域設定一個使用者的選擇。

3. 返回布爾 WOPI 字段

將兩個布林欄位新增至 JSON 回應。這是一個需要合併到現有完整CheckFileInfo回應中的片段,而不是替換其必需的檔案和使用者屬性:

JSON 編輯器顯示 HideExportOption、DisableExport 和 UserCanNotWriteRelative 都設定為 true。
CheckFileInfo 權限欄位範例。僅當主機也拒絕相對保存請求時才設定「另存為」屬性。
{
  "BaseFileName": "budget.xlsx",
  "Size": 48123,
  "UserId": "viewer-42",
  "OwnerId": "team-7",
  "UserCanWrite": false,
  "HideExportOption": true,
  "DisableExport": true
}

保留整合已提供的常規必填欄位和功能標誌。使用 JSON 布林值,true而false不是字串,例如 ` "true"true` 或 `false` "1"。如果允許導出,則根據您的整合和 Collabora 版本支援的行為,傳回 `false` 或省略可選屬性。

4. 如果策略要求,則單獨阻止「另存為」操作

匯出到本機格式和將副本儲存回 WOPI 主機是不同的操作。如果使用者無法透過編輯器建立「另存為」副本,則應返回UserCanNotWriteRelative: true並讓主機拒絕相應的相對寫入要求。不要假設此操作DisableExport會封鎖所有副本或儲存路徑。同樣,DisablePrint: true僅當列印操作包含在策略中時才應包含此操作。

Collabora 風格的「檔案」選單中缺少「下載」選項,而附近的 WOPI 權限卡顯示「UserCanNotWriteRelative」已啟用。
選單模型省略了「下載為」;「另存為」是單獨的操作,當不允許相對保存時,WOPI 主機必須拒絕該操作。

在整合平台中應用等效設置

當 Nextcloud 管理檔案和共用時,侵入性最小的方案是使用其自身支援的隱藏下載或安全檢視權限(如果該共用類型和版本支援)。目前的 Nextcloud Richdocuments 原始碼將主機端的隱藏下載策略對應到 Collabora 的字段,DisableExport以及HideExportOption列印和複製限制。管理員可存取的特定控制項可能會因 Nextcloud 版本、發行版和共用類型而異,因此請確認已安裝產品的行為,而不是將自訂 WOPI 修補程式複製到其應用程式檔案中。

如果您維護的是不同的 WOPI 主機,請在其 CheckFileInfo 回應中實作對應的欄位。避免修改 Collabora 產生的容器配置以新增未記錄的鍵:WOPI 回應用於傳遞每個檔案的權限資訊。主機程式碼變更後,請使用該應用程式的正常發佈流程進行部署。通常情況下,重新啟動 Collabora 不會改變主機產生的權限決策;請關閉並重新開啟文件以取得最新的 CheckFileInfo 回應。

驗證限制是否有效

  1. 使用應受限制的帳戶開啟測試文件。
  2. 檢查應用程式日誌或安全開發追蹤中的 WOPI 主機 CheckFileInfo 回應。確認這兩個欄位均為 JSON 布林值,且在此會話中均設為 true。
  3. 在 Collabora 中,檢查「下載為」選項是否缺失,並測試相關的匯出操作。初步驗證期間請勿使用真實的機密文件。
  4. 如果「另存為」操作也應該被阻止,請測試主機端的相對寫入請求是否被拒絕。即使主機拒絕了該操作,選單項目也可能仍然可見。
  5. 開啟一個單獨的、具有匯出權限的文件。確認此變更未意外停用所有使用者或檔案的匯出功能。
  6. 請單獨測試從儲存平台直接下載。 Collabora 的匯出標誌不會自動撤銷使用者從 Nextcloud、ownCloud、WebDAV 或其他主機端點下載原始檔案的權限。

如果命令仍然可見,請確認回應是針對您測試的文件和用戶,重新開啟文件以建立新的會話,並驗證主機是否確實發送了訊息HideExportOption。如果按鈕消失,但匯出仍然可以透過其他途徑進行,請檢查是否DisableExport確實如此,並確認該操作確實是 Collabora 匯出,而不是儲存主機提供的下載或特定於整合的 postMessage 處理程序。

安全限制和實用建議

這些設定控制 Collabora 支援的匯出和儲存操作;它們無法阻止能夠查看文件的使用者截圖、拍照或手動複製應用程式允許他們查看的資訊。 Collabora 也必須接收文件內容才能進行渲染。為了更有效地控制數據,請將編輯器限制與文件託管方的下載授權、存取權杖範圍、共用策略、稽核日誌以及任何組織核准的浮水印或資料遺失防護措施結合。將結果描述為限制支援的匯出路徑,而不是使可見內容無法複製。

對於大多數 CODE 安裝,請使用DisableExport主機HideExportOption產生的 WOPI CheckFileInfo 回應,並將範圍限定於適用的使用者和文件。強制要求在主機上直接下載和另存為,並在部署後驗證受限會話和允許會話。

參考

留下評論

如何在 Microsoft Word 中移動圖片

如何在 Microsoft Word 中移動圖片

學習如何在 Word 中拖曳圖片、選擇文字環繞方式、將圖片與段落保持在一起或將其固定在頁面上,以及如何解決圖片無法移動的問題。

如何在 Excel 中插入複選框:兩種簡易方法

如何在 Excel 中插入複選框:兩種簡易方法

學習如何使用儲存格內工具在 Excel 中插入複選框,使用公式計算選取項目的數量,或在舊版桌面 Excel 中新增連結的表單控制項。

如何在 Excel 中自動填充字母:從 A 到 Z 及其他

如何在 Excel 中自動填充字母:從 A 到 Z 及其他

使用填充柄公式、SEQUENCE 或可重複使用的自訂清單在 Excel 中產生 A 到 Z、小寫字母或 Z 以上的標籤。

如何在 Excel 中新增刪除線:快捷鍵和逐步指南

如何在 Excel 中新增刪除線:快捷鍵和逐步指南

學習如何在 Windows、Mac 和網頁版 Excel 中新增刪除線、設定儲存格部分格式以及刪除線條而不刪除其值。

什麼是 Microsoft Access?它的資料庫工具是如何運作的?

什麼是 Microsoft Access?它的資料庫工具是如何運作的?

Microsoft Access 是一款 Windows 資料庫應用程序,用於儲存相關記錄、建立查詢、建立資料輸入表單和產生報表。了解它的工作原理以及適用場景。

如何在 Word 2010 中變更網格線高度和寬度

如何在 Word 2010 中變更網格線高度和寬度

了解如何在 Word 2010 中調整網格線高度和寬度、變更可見線頻率以及設定底層水平和垂直繪圖網格間距。

Office Outlook 2010 匯入和匯出:使用 PST 檔案移動數據

Office Outlook 2010 匯入和匯出:使用 PST 檔案移動數據

了解如何將 PST 檔案匯入 Outlook 2010 或匯出郵件、聯絡人、行事曆和任務。按照正確的選單操作,避免遺漏資料夾或重複文件。

使用 Nucleus Kernel 還原 Outlook PST 密碼

使用 Nucleus Kernel 還原 Outlook PST 密碼

使用 Kernel 的目前步驟還原忘記的 Outlook PST 密碼,包括如何識別正確的檔案、進行備份以及檢查工具的限制。

如何在 PowerPoint 幻燈片中插入網頁鏈接

如何在 PowerPoint 幻燈片中插入網頁鏈接

使用 LiveWeb 外掛程式將網站放置在 PowerPoint 投影片上,設定其大小和刷新行為,並在簡報前檢查相容性。

如何在 Word 2010 中變更預設字體和正文樣式

如何在 Word 2010 中變更預設字體和正文樣式

在 Word 2010 中設定預設字體、字號和文字效果,將選擇儲存到 Normal.dotm,然後修改 Normal 樣式以用於以後的文件。