هل من الممكن استخدام النسخ المتماثل المصفى لـ CouchDB لنسخ المجموعة الفرعية فقط من بيانات ACLed إلى المستخدم؟

StackOverflow https://stackoverflow.com//questions/10691605

سؤال

على وجه الخصوص، هل يمكن إجراء النسخ المتماثل الذي تمت تصفيته باستخدام PouchDB؟أريد التأكد من أن العميل لا يمكنه حذف عامل التصفية وبالتالي المزامنة مع قاعدة البيانات بأكملها.

هل كانت مفيدة؟

المحلول

لا يوجد تكرار CouchDB "بروتوكول". عملية النسخ المتماثل هي ببساطة عميل يتصل بنقاط نهاية CouchDB ، وقراءة المستندات من واحدة ، وكتابتها إلى الآخر.بالطبع، يأتي CouchDB مزودًا بمثل هذا العميل ("النسخة المتماثلة") مدمجًا؛ولكن من الناحية النظرية هو تطبيق طرف ثالث.

ما يعنيه ذلك هو أنه يمكنك إزالة النسخ المتماثل من التحليل الأمني ​​لتطبيقك.ضع في اعتبارك أولاً أن عملاء الويب العاديين يقومون بالقراءة والكتابة على خادمك.قفل ذلك إلى أسفل.قد تفترض وجود خصم افتراضي باستخدام متصفح ويب مخترق، أو باستخدام عميل HTTP مخصص (والذي لا يحترم السياسات عبر الأصل على سبيل المثال).

مع حل هذه المشكلة، سيتبع النسخ المتماثل، بالضرورة، سياسة الأمان الخاصة بك.

بمعنى آخر، النسخ المتماثل بين PouchDB وCouchDB:

  • إذا كنت كذلك دفع إلى الخادم البعيد، أداة الأمان الخاصة بك هي جهاز التحكم عن بعد validate_doc_update وظيفة.
  • إذا كنت كذلك سحب من الخادم البعيد، أداة الأمان الخاصة بك هي كائن _security لقاعدة البيانات - على وجه التحديد "members" صفائف.يمكن للعميل إما قراءة قاعدة البيانات بالكامل، أو عدم قراءة قاعدة البيانات على الإطلاق.بالطبع، يمكنك إجراء نسخ متماثلة تمت تصفيتها في قواعد بيانات ذات استخدام خاص على جانب الخادم.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top