← العودة إلى جميع المقالات
المدونة

تشفير ديناميكي للأغلفة والصور وحماية EFV متقدمة بالطابع الزمني وعدد التشغيل من الربط والتنزيل

استجابة لطلبات العملاء قضينا أياماً في دراسة حماية الطابع الزمني ومنطق تشفير الصور بإزاحة عناصرها ديناميكياً، وحققنا تشفير الأغلفة والصور وفكها، وحماية متقدمة مخصصة لـ EFV من الربط والتنزيل. لأن طريقة hack hls.js السابقة صعبت على كثيرين، راعينا كل حالات التشغيل مثل APP والمتصفحات والتطبيقات المصغرة.

محتويات التحديث

  • أولاً، تشفير الصور وفكها ديناميكياً. بعد تفعيل الخيار خلفياً بنقرة واحدة، يُنزّل الغلاف والصورة تلقائياً عند فتحهما ولا يظهر أي محتوى فعلي. يلزم استخدام إضافة فك التشفير js لدينا في الواجهة لإظهارهما داخل المتصفح. يمكن تعطيلها في أي وقت لتعود الملصقات والأغلفة إلى العرض الطبيعي.
  • ثانياً، حماية متقدمة مخصصة لـ EFV بالطابع الزمني. يمكن للمطور تفعيل حدود الطابع الزمني وعدد التشغيل وضبط key، بعد الحصول على key ثم تجميع المعلمات وتشفيرها بـ md5 وإلحاقها بـ m3u8. يتحقق النظام من الرابط والمعلمات، ويعيد المحتوى الطبيعي إن صحت، وإلا 403. للتوضيح أعددنا مخططاً:

تستطيع التطبيقات الخارجية ربط الحماية بسهولة. حدد counts لعدد التشغيل وtimestamp لانتهاء الصلاحية بدقة المللي ثانية وبـ 13 رقماً. استخدم عنوان m3u8 المطلوب، بدءاً من /videos وانتهاء بـ m3u8 دون نطاق، واجمعه مع key المضبوط خلفياً. شفّره بـ md5 لإنتاج key صغير الأحرف بطول 32، ثم ألحق المعلمات بـ url للوصول.

نصيحة: في الحالة القصوى عيّن الطابع الزمني إلى الوقت الحالي + 5 ثوانٍ وعدد التشغيل 1، فينتهي الرابط فور جلب m3u8 عبر API وتحميله للتشغيل! نوصي بتشفير ts: عند معالجة m3u8 يضيف النظام معلمات الحماية نفسها إلى key. فإذا كان counts يساوي 1، يُطلب m3u8 مرة واحدة فقط، وكذلك يُحمّل key مرة واحدة عند طلب m3u8. مع تشفير TS يمنع ذلك المستخدم من بناء m3u8 خارجي فور حصوله على محتوى m3u8 وملئه بمقاطع TS ومحتوى key.

اسأل خدمة العملاء عن منطق تجميع السلسلة بالتفصيل.

مراجع

اختبار تشفير md5: https://tool.chinaz.com/tools/md5.aspx

شرح الطابع الزمني: https://www.cnblogs.com/hanzongze/p/js-timestamp.html