الرئيسية
» مكتب MS
»
كيفية تقييد خيارات تصدير الملفات في برنامج Collabora Online (الرمز البرمجي)
كيفية تقييد خيارات تصدير الملفات في برنامج Collabora Online (الرمز البرمجي)
لتقييد تصدير الملفات في Collabora Online CODE، اطلب من مضيف WOPI إرجاع معلومات الملف والمستخدم المتأثرين DisableExport: trueفي استجابته. أضف خيارًا لإزالة أمر "التنزيل باسم" من قائمة المحرر. تعطل الخاصية الأولى وظيفة التصدير في Collabora من جانب الخادم، بينما تتحكم الثانية في مستوى الرؤية. لا يُعدّ ضبط علامة الرؤية فقط إجراءً للتحكم في الوصول.CheckFileInfoHideExportOption: true
CODE هو محرر المستندات. في التكامل القياسي، يقوم مضيف WOPI منفصل، مثل Nextcloud أو ownCloud أو تطبيق مخصص، بتخزين الملف الأصلي وتزويد Collabora ببيانات تعريف الملف والأذونات. لهذا السبب، عادةً ما يتم تكوين أذونات التصدير في تكامل المضيف، وليس كخيار عام في حاوية Collabora coolwsd.xml.
يطلب Collabora Online من مضيف WOPI معلومات الملف؛ ويمكن أن تتضمن استجابة المضيف قيودًا على تصدير جلسة المستند تلك.
اختر عنصر التحكم الذي يتوافق مع الإجراء
ملكية أو سيطرة WOPI
ما يفعله
متى يُستخدم؟
HideExportOption
يخفي خيار "التنزيل باسم" في قائمة الملفات.
كإجراء مصاحب لفرض النظام الخلفي، حتى لا يرى المستخدمون أمرًا غير متاح.
DisableExport
يعطل وظيفة التصدير في Collabora ويشير إلى ذلك HideExportOption.
متى يجب حظر التصدير من المستند المفتوح لملف أو جلسة معينة.
UserCanNotWriteRelative
يُعلم هذا الأمر المضيف بأنه لا يمكن للمستخدم حفظ نسخة من ملف ذي صلة أو نسخة "حفظ باسم" مرة أخرى عبر WOPI. يجب على المضيف رفض هذا الطلب.
يجب أيضًا منع استخدام خيار "حفظ باسم" أو إنشاء نسخة من خلال المحرر.
DisablePrint
يؤدي ذلك إلى تعطيل الطباعة في الواجهة الخلفية لـ Collabora، ويشير إلى أن خيار الطباعة مخفي.
فقط عندما تكون الطباعة مقيدة أيضاً؛ فهي منفصلة عن التصدير.
استخدم الحقلين الأولين لمهمة محددة تتمثل في حظر ميزة "التنزيل كـ/تصدير" في Collabora. أضف عناصر التحكم الأخرى فقط إذا كانت سياستك تشمل هذه الإجراءات المنفصلة. إن عدم وجود عنصر في القائمة بحد ذاته لا يثبت حظر التنزيلات.
حدد أين يتم تطبيق هذا القيد
حدد أولاً التطبيق الذي يخزن الملف ويفتحه في Collabora. في مصطلحات WOPI، يُسمى هذا التطبيق "المضيف". يتصل Collabora CheckFileInfoبنقطة نهاية المضيف للحصول على معلومات الملف وصلاحياته. يعرف المضيف من فتح المستند وما إذا كانت سياسة المشاركة أو الحساب أو الملف تسمح بالتنزيل.
في Nextcloud أو أي منصة ملفات متكاملة أخرى: استخدم إعدادات المشاركة أو العرض الآمن المدعومة إذا كانت النسخة المثبتة لديك توفر خيار "إخفاء التنزيل" أو سياسة مماثلة. يمكن للتكامل ترجمة هذه السياسة إلى أذونات WOPI. تحقق من استجابة المضيف أو الوثائق الحالية للمنصة قبل افتراض مسارات التصدير أو الطباعة أو النسخ أو التنزيل المباشر التي يتم حظرها.
مضيف WOPI الخاص بك: قم بتحديث الكود الذي يُنشئ CheckFileInfoاستجابة JSON. احسب القيود بناءً على أذونات المستخدم المُصادق عليه وسياسة مشاركة الملف.
مسؤول حاوية التعليمات البرمجية الذي لا يملك صلاحية التحكم في المضيف: اطلب من مسؤول المضيف أو مطور التكامل تطبيق ذلك. قد يؤدي تعديل حاوية التعليمات البرمجية فقط إلى إخفاء بعض التنسيقات الاختيارية من الواجهة، ولكنه لا يوفر سياسة أذونات WOPI لكل ملف على حدة.
يصف تكوين المصدر الحالي في Collabora extra_export_formatsخيارات على مستوى واجهة المستخدم: تعطيل هذه التنسيقات الاختيارية هناك يُخفيها بصريًا فقط. لا تتعامل مع هذا الإعداد كفرض تصدير من جانب الخادم. إنه مُخصص لعرض قائمة التنسيقات، وليس بديلاً عن أذونات المضيف.
قم بتعيين أذونات التصدير في مضيف WOPI مخصص
1. ابحث عن معالج استجابة CheckFileInfo
حدد المسار الذي يستجيب GET /wopi/files/{id}لطلب WOPI الخاص بـ Collabora. تأكد من كيفية مصادقة رمز الوصول وربطه بالمستخدم والملف الحاليين. لا تثق بأي علامة يوفرها المتصفح إلا ?disableExport=trueإذا تحققت منها الجهة المضيفة وفقًا لقواعد التفويض الخاصة بها.
2. استخلاص القرار من سياسة الجهة المضيفة
استخدم بيانات التحكم في الوصول من جانب الخادم لتحديد ما إذا كان بإمكان هذا الشخص تصدير هذا الملف. قد يمتلك مالك الملف، والمحرر الداخلي، وعارض الروابط العامة صلاحيات مختلفة. إذا كان التقييد خاصًا بمشاركة واحدة، فحدده من خلال سياسة تلك المشاركة، وليس من خلال متغير بيئة عام قد يؤثر عن غير قصد على جميع المستخدمين.
الشفرة الزائفة التوضيحية: اشتق علامات WOPI من الملف وسياسة الوصول الفعلية للمستخدم، بدلاً من تعيين اختيار المستخدم بشكل عام.
3. إرجاع حقول WOPI المنطقية
أضف الحقلين المنطقيين إلى استجابة JSON. هذا جزءٌ يُدمج في CheckFileInfoاستجابتك الكاملة الحالية، وليس بديلاً عن خصائص الملف والمستخدم المطلوبة.
مثال على حقول أذونات CheckFileInfo. قم بتعيين خاصية "حفظ باسم" فقط عندما يرفض المضيف أيضًا طلبات الحفظ النسبي.
احتفظ بالحقول الإلزامية العادية وعلامات القدرات التي يوفرها التكامل الخاص بك بالفعل. استخدم قيم JSON المنطقية true، falseوليس السلاسل النصية مثل "صحيح" "true"أو "خطأ" "1". عند السماح بالتصدير، أرجع القيمة "خطأ" أو احذف الخصائص الاختيارية وفقًا للسلوك الذي يدعمه التكامل الخاص بك وإصدار Collabora.
4. حظر خيار "حفظ باسم" بشكل منفصل إذا كانت السياسة تتطلب ذلك
يُعدّ تصدير الملفات إلى تنسيق محلي وحفظ نسخة منها على خادم WOPI عمليتين مختلفتين. إذا كان لا يجوز للمستخدمين إنشاء نسخة "حفظ باسم" عبر المحرر، فارجع UserCanNotWriteRelative: trueواجعل الخادم يرفض طلب الكتابة النسبية المقابل. لا تفترض أن هذا DisableExportيمنع كل عملية نسخ أو مسار حفظ. وبالمثل، قم بتضمينه DisablePrint: trueفقط عندما تكون الطباعة مشمولة بالسياسة.
يحذف نموذج القائمة خيار "التنزيل باسم"؛ أما خيار "حفظ باسم" فهو إجراء منفصل يجب على مضيف WOPI رفضه عندما يكون الحفظ النسبي غير مسموح به.
قم بتطبيق الإعداد المكافئ في منصة متكاملة
عندما يتولى Nextcloud إدارة الملف والمشاركة، فإنّ أقل الطرق تدخلاً هي استخدام إذن إخفاء التنزيل أو العرض الآمن المدعوم منه، إن كان متاحًا لنوع المشاركة وإصدارها. يربط مصدر Nextcloud Richdocuments الحالي سياسة إخفاء التنزيل على جانب المضيف بحقول Collabora DisableExport، HideExportOptionبالإضافة إلى قيود الطباعة والنسخ. قد تختلف عناصر التحكم المتاحة للمسؤول باختلاف إصدار Nextcloud ونوع المشاركة، لذا يُنصح بتأكيد السلوك في المنتج المُثبّت بدلاً من نسخ تصحيح WOPI مخصص إلى ملفات التطبيق.
إذا كنت تستخدم مضيف WOPI مختلفًا، فقم بتطبيق الحقول في استجابة CheckFileInfo الخاصة به. تجنب تعديل إعدادات الحاوية التي يُنشئها Collabora لإضافة مفاتيح غير موثقة: حيث تُنقل أذونات كل ملف عبر استجابة WOPI. بعد تغيير رمز المضيف، انشره باستخدام عملية الإصدار المعتادة لهذا التطبيق. عادةً، لا تُعد إعادة تشغيل Collabora الخطوة التي تُغير قرار الأذونات الذي يُنشئه المضيف؛ أغلق المستند وأعد فتحه للحصول على استجابة CheckFileInfo جديدة.
تأكد من أن التقييد يعمل
افتح مستندًا تجريبيًا باستخدام حساب يجب تقييده.
افحص استجابة CheckFileInfo الخاصة بمضيف WOPI في سجلات التطبيق أو في مسار تطوير آمن. تأكد من أن كلا الحقلين عبارة عن قيم منطقية JSON مضبوطة على "صحيح" لهذه الجلسة.
في برنامج Collabora، تأكد من عدم وجود خيار "تنزيل باسم" واختبر عملية التصدير ذات الصلة. لا تستخدم ملفًا سريًا حقيقيًا أثناء التحقق الأولي.
إذا كان ينبغي حظر خيار "حفظ باسم" أيضاً، فاختبر رفض طلب الكتابة النسبية من جانب المضيف. قد يبقى عنصر القائمة ظاهراً حتى لو رفض المضيف العملية.
افتح مستندًا منفصلاً مع منح إذن التصدير. تأكد من أن التغيير لم يُعطّل التصدير لجميع المستخدمين أو الملفات عن غير قصد.
اختبر التنزيل المباشر من منصة التخزين بشكل منفصل. لا يؤدي خيار التصدير في Collabora إلى إلغاء إذن المستخدم تلقائيًا لتنزيل الملف الأصلي من Nextcloud أو ownCloud أو WebDAV أو أي نقطة نهاية مضيفة أخرى.
إذا ظل الأمر ظاهرًا، فتأكد من أن الاستجابة خاصة بالملف والمستخدم اللذين اختبرتهما، ثم أعد فتح المستند لإنشاء جلسة جديدة، وتحقق من أن المضيف يرسل الأمر بالفعل HideExportOption. إذا اختفى الزر ولكن التصدير لا يزال يعمل عبر مسار آخر، فتأكد من DisableExportصحة ذلك وأن الإجراء هو تصدير من Collabora وليس تنزيلًا مقدمًا من مضيف التخزين أو معالج postMessage خاص بالتكامل.
حدود الأمان والتوصيات العملية
تتحكم هذه الإعدادات في عمليات التصدير والحفظ المدعومة في Collabora؛ ولا يمكنها منع المستخدم الذي يمكنه عرض المستند من التقاط لقطات شاشة، أو تصوير الشاشة، أو نسخ المعلومات التي يسمح له التطبيق برؤيتها يدويًا. كما يجب أن يتلقى Collabora محتوى المستند لعرضه. ولتعزيز التحكم في البيانات، يُنصح بدمج قيود المحرر مع صلاحيات التنزيل الخاصة بمضيف الملف، ونطاق رمز الوصول، وسياسة المشاركة، وسجل التدقيق، وأي علامات مائية أو ضوابط لمنع فقدان البيانات معتمدة من المؤسسة. وصف النتيجة بأنها تقييد مسارات التصدير المدعومة، وليس جعل نسخ المحتوى المرئي مستحيلاً.
في معظم عمليات تثبيت CODE، استخدم الأمر DisableExport` HideExportOptioncheckFileInfo` المُنشأ بواسطة المضيف في استجابة WOPI، مع تحديد نطاقه للمستخدم والمستند المعنيين. فعّل التنزيلات المباشرة وخيار "حفظ باسم" على المضيف، وتحقق من الجلسات المحظورة والمسموح بها بعد النشر.