DRM-X 6.0 حمام وشعار فرع الزيتونDRM-X 6.0الوثائق
◎ العربية

الفيديو المحمي مع Django

استخدم مصادقة Django ودالة التحقق من الصلاحيات الخاصة بك. لا تُنشئ حزمة DRM-X جداول للفيديو أو منح الوصول.

عرض Markdownأمثلة قابلة للتجربةآخر تحديث 2026-09-25
تنزيل حزمة هذه المنصة

SDK بإصدار معاينة ومثال تطبيق وشفرة مصدرية. احتفظ ببنية المجلدات بعد الاستخراج.

كل المنصات والحزمة الكاملة · فهم عملية التكامل

المواضع الثلاثة التي تخصّصها#

  1. الإعدادsettings.py

    أضف drmx واضبط DRMX، بما في ذلك AUTHORIZE.

  2. منح الإذن

    تطبيقك: drmx_access.py

    نفّذ authorize(user, video_id) بالرجوع إلى نظامك الحالي.

  3. المسارurls.py

    أدرج drmx.urls؛ وأعد استخدام وسيطَي تسجيل الدخول وCSRF المعتادين لديك.

1. تثبيت حزمة wheel#

# From the extracted kit root:
python -m pip install packages/python/drmx_django-1.3.0rc13-py3-none-any.whl

استخدم Python 3.12+ وإصدار Django مدعومًا (5.2–6.0). أضف drmx إلى INSTALLED_APPS. احتفظ بالمصادقة والجلسات وCsrfViewMiddleware. لا يلزم أمر ترحيل DRM-X للتثبيت الجديد؛ وقد يظل تطبيقك بحاجة إلى ترحيلاته المعتادة.

2. ضبط الإعدادات والمسارات#

# settings.py — keep your existing application settings
DRMX = {
    'SITE_ID': os.environ['DRMX_SITE_ID'],
    'SITE_KEY': os.environ['DRMX_SITE_KEY'],
    'ACCESS_KEY': os.environ['DRMX_ACCESS_KEY'],
    'INSTANCE_ID': 'my-website',
    'POLICY': 'multi-tier-standard',
    'AUTHORIZE': 'myapp.drmx_access.authorize',
}
# urls.py — add to your existing urlpatterns
path('video/', include('drmx.urls'))

استورد os في settings وpath/include في urls كالمعتاد. استبدل myapp بوحدة تطبيقك.

3. إرجاع المحتوى المصرّح به#

أنشئ myapp/drmx_access.py. استدعاء المستودع أدناه توضيحي؛ استخدم استعلام الشراء أو العضوية أو التسجيل الحالي لديك.

def authorize(user, video_id):
    video = customer_catalog.find_authorized_video(user.id, video_id)
    if video is None:
        return None
    return {'content_id': video.drmx_content_id,
            'content_type': 'vod', 'title': video.title}

للاختبار المحلي الأول، اسمح لمستخدم اختبار موجود واحد ولمعرّف فيديو موقع واحد، ثم أرجع Content ID المنشور. احصر قاعدة السماح المؤقتة هذه في اختبارك المحلي. ترفض examples/sdk/django/authorization.py المرفقة وصول الجميع حتى تنفّذها.

في الإنتاج، نفّذ استعلام قاعدة البيانات في كل استدعاء. أرجع None إذا لم توجد صلاحية وصول أو انتهت أو أُلغيت. عند إغفال السياسة، يُستخدم الإعداد الافتراضي المضبوط لديك.

4. تسجيل الدخول وفتح المشغّل#

افتح /video/lesson-123/ باستخدام معرّف فيديو الموقع الذي اخترته. تدعم الواجهة المعرّفات النصية وUUIDs. يوفّر SDK صفحة المشغّل ونقطة نهاية الجلسة ويعيد فحص دالة التحقق في كل طلب.

الإبقاء على وسائل حماية Django المعتادة#

احتفظ بالتحقق المرفق من CSRF وبنقطة النهاية على الأصل نفسه. يمرّر المشغّل الحالي رمز CSRF مقنّعًا في رابط نقطة النهاية؛ استبعد سلسلة الاستعلام من سجلات الوصول واحتفظ بسلوك no-store/no-referrer. استخدم HTTPS وملفات تعريف ارتباط آمنة للجلسات.

هل ترقي تثبيتًا قديمًا يتضمن جداول DRM-X؟ احتفظ بسجل ترحيلاته واقرأ legacy/README.md قبل إزالة التطبيق القديم. لا يحذف SDK الجديد تلك الجداول.

التحقق قبل النشر#

  • سجّل الدخول كمستخدم مسموح له وشغّل فيديو منشورًا في متصفح مدعوم.
  • اختبر مستخدمين لم يسجّلوا الدخول وآخرين لم يدفعوا، ثم ألغِ الوصول أو اجعله منتهيًا. يجب رفض طلبات الجلسات الجديدة.
  • غيّر Content ID أو معرّف فيديو الموقع في المتصفح. يجب أن يتحقق الخادم من الاختيار الجديد.
  • اضبط أصل HTTPS العام بدقة، واحتفظ بحماية الجلسات وCSRF في إطار العمل، وعطّل شفرة الهوية التجريبية.

للجلسات وتراخيص DRM الحالية مدد صلاحية مستقلة. تُفحص تغييرات الصلاحيات عند الطلبات الجديدة؛ ولا تمحو ترخيصًا سبق إصداره.