وصول خدمة Alibaba Cloud Video عند الطلب (VOD): تحقيق سلسلة مكافحة السرقة والتشغيل السلس عبر الإنترنت

سحابة 2026-05-28 阅读 15
cloud

بالنسبة لمشاريع الفيديو ، فإن الشيء الأكثر إزعاجًا ليس كيفية كتابة المشغل على الواجهة الأمامية ، ولكن مشكلتين واقعيتين للغاية في التشغيل والصيانة:

تكلفة عرض النطاق الترددي والتواتر: غالبًا ما تكون ملفات الفيديو عشرات أو مئات الميليونات. إذا تم وضعها مباشرة على الخادم الخاص بك ، فسوف يتوقف عدد قليل من الأشخاص عند رؤية النظام في نفس الوقت. رسوم تدفق الشبكة العامة الشهرية لا نهاية لها.

سرقة مقاطع الفيديو أو سرقة الروابط: يقوم بعض الزملاء أو المستخدمين الضارين بنسخ رابط تشغيل الفيديو في صفحة الويب الخاصة بك مباشرة بالنقر بزر الماوس الأيمن ، ونشرها على موقع الويب الخاص بهم لاستعارة الدجاج والبيض. جميع رسوم النطاق الترددي التي دفعتها بشق الأنفس صنعت فساتين زفاف للآخرين.

في عصر السحابة الأصلية ، كان الحل الأكثر أمانًا هو استضافة الفيديو على Alibun

الفيديو حسب الطلب (VOD,Video on Demand)

في الخدمة.

اليوم ، هذا البرنامج التعليمي لا يسحب النظرية الفنية الفارغة ، ويذهب مباشرة إلى البضائع الجافة النقية. سوف يأخذك إلى أكثر الطرق القتالية المباشرة ،

احصل على التشغيل المتسارع لتدفق الفيديو ، وقم بنشر خطين للموت "Referer مضاد للسرقة URL"

، قفل تماما أصول الفيديو الخاصة بك.

البنية الأساسية: كيف يعمل الفيديو عند الطلب ؟

قبل القيام بذلك ، خذ 10 ثوانٍ لفهم الرابط الأساسي لـ VOD:

نص عادي

[تحميل الفيديو في الخلفية] ──> [تحويل رمز VOD التلقائي] ──> [تخزين الشرائح في OSS] ──> [التوزيع على عقدة حافة CDN]

[متصفح المستخدم] <─ 3. احصل على عنوان URL الآمن وفك تشفيره في المشغل-[حساب عنوان URL الصحيح في النهاية الخلفية] <─ 1. ابدأ طلب التشغيل

ببساطة ، لا يمكن تشغيل الفيديو مباشرة على الفيلم الأصلي. سيقوم VOD تلقائيًا بتحطيم مقاطع الفيديو الخاصة بك ، وإعادة ترميزها إلى ملفات دفق قياسية مختلفة ، ثم دفعها إلى جميع أنحاء البلاد

شبكة توصيل المحتوى (CDN)

العقد. عندما يلعب المستخدم ، يسحب مباشرة ذاكرة التخزين المؤقت لـ CDN القريبة ، والتي لا تكون سريعة فحسب ، بل لا تشغل أيضًا عرض النطاق الترددي للخادم الخاص بك على الإطلاق.

الخطوة الأولى: تكوين قاعدة وحدة التحكم (3 دقائق)

الخدمة التي تم شراؤها حديثًا هي قطعة من الورق الأبيض ، نحتاج أولاً إلى مطابقة اسم المجال واستراتيجية تحويل الشفرة.

1. ربط وتوزيع أسماء النطاقات

يجب أن يكون الفيديو عند الطلب مرتبطًا باسم المجال الخاص بك (يحتاج إلى التسجيل) باعتباره "اسم مجال تشغيل الفيديو" ، ولا يمكن استخدام اسم المجال الافتراضي لاختبار Alibaba Cloud.

قم بتسجيل الدخول إلى Alibaba Cloud Console وابحث في "VOD عند الطلب".

في القائمة اليسرى ، انقر فوق "إدارة التكوين" $ \ rightarrow $ "توزيع تسريع التكوين" $ \ rightarrow $ "إدارة النطاق".

انقر فوق "إضافة اسم نطاق" ، وحدد نوع النشاط التجاري "تسريع عند الطلب" ، وأدخل اسم المجال الفرعي الخاص بك (مثل video.yourname.com).

عند الانتهاء من إنشاء ، سوف تعطيك Alibaba Cloud عنوان CNAME. خذ هذا العنوان

، انتقل إلى خلفية تحليل اسم المجال الخاص بك (مثل Alibaba Cloud DNS) وإضافة سجل CNAME. فقط عندما يكون التحليل ساري المفعول ، يصبح تسريع CDN رسميًا.

2. تكوين قالب تحويل الشفرة (مفتاح التشغيل السلس)

الفيديو الأصلي (مثل MP4 المسجل بواسطة الهاتف المحمول) كبير الحجم ، ومعدل البت غير ثابت ، ومن السهل جدًا أن تكون عالقًا في بيئة شبكة ضعيفة. نحتاج إلى السماح للنظام بتقطيعه تلقائيًا وخفض حجمه.

في القائمة اليسرى ، أدخل "الإعدادات العامة" $ \ rightarrow $ "مجموعة قوالب تحويل الشفرة".

انقر على "إضافة مجموعة قوالب تحويل الشفرة".

تنسيق الحزمة: يوصى بشدة باختيار HLS (M3U8).

💡لماذا اختيار HLS/M3U8 ؟ يجب أن ينتظر تشغيل MP4 تنزيل جزء من الملف بأكمله للفهرسة ، وتنسيق HLS هو قطع الفيديو إلى شرائح صغيرة لا حصر لها مدتها 10 ثوانٍ. كم عدد التنزيلات التي يستخدمها المستخدم أثناء التشغيل ، ليس فقط في ثوانٍ ، ولكن أيضًا سريعًا إلى الأمام وإعادة المحاولة حريري للغاية ، ويمكنه أيضًا التبديل تلقائيًا وفقًا للشبكة.

ضع علامة على الوضوح الذي تحتاجه (مثل الوضوح القياسي والأداء العالي عالي الدقة) وانقر على حفظ.

الخطوة الثانية: وضع سلسلة ضد السرقة ، خطان ميتان (دقيقتان)

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

خط الدفاع الأول: سلسلة مكافحة السرقة Referer (مكافحة Xiaobai)

المبدأ هو التحقق من "من يطلب هذا الفيديو". إذا تم إرسال الطلب من Baidu أو موقع ويب صغير لشخص آخر ، فسيتم رفضه مباشرة.

في قائمة "إدارة اسم المجال" ، انقر فوق "التكوين" على الجانب الأيمن من اسم المجال الذي قمت بربطه للتو.

انقر على "التحكم في الوصول" على اليسار $ \ rightarrow $ للعثور على "سلسلة مكافحة السرقة Referer" ، انقر على تعديل.

النوع: اختر "القائمة البيضاء".

قائمة Referer: أدخل اسم نطاق موقع الويب الخاص بك ، سطر واحد ، على سبيل المثال:

السماح بـ Referer الفارغ: إذا كان الفيديو الخاص بك مضمنًا في تطبيق الهاتف المحمول ، أو السماح للمستخدم بفتحه مباشرة في شريط عنوان المتصفح ، حدد "نعم" ؛ إذا كان لديك قيود صارمة على المشاهدة فقط في صفحة الويب الخاصة بك ، يجب عليك التحقق من "لا".

خط الدفاع الثاني: تحديد URL (سيد الدفاع: الوسائل الأساسية لإنقاذ الحياة)

يتم تزوير Referer بسهولة من قبل المتسللين عن طريق تعديل HTTP Header. لقفل الفيديو تمامًا ، يجب تشغيله

تحديد URL

.

بعد الفتح ، سيتم فرض سلسلة من سلاسل التشفير خلف عنوان التشغيل الحقيقي للفيديو (مثل

؟ Auth_key = الطابع الزمني-أرقام عشوائية-MD5

). يتم إنشاء سلسلة التشفير هذه بواسطة الخادم الخلفي الخاص بك عن طريق الحساب الديناميكي عندما ينقر المستخدم على التشغيل ، و

عادة ما يكون 30 دقيقة فقط صالحة

. بعد انتهاء الصلاحية ، حتى لو حصل المتسلل على الرابط بأكمله ، فلن يتمكن من تشغيله.

أيضا في صفحة "التحكم في الوصول" من اسم المجال ، قم بالتبديل إلى علامة التبويب "تحديد URL".

انقر على تعديل لتغيير الحالة إلى "فتح".

رئيسي/إعداد المفتاح: أدخل سلسلة عشوائية

سلسلة طويلة (مثل MySecretKey2026) ، انقر على حفظ. تذكر هذا المفتاح ، إنه المفتاح الذي نستخدمه في الكود لاحقًا.

تم تعيين الوقت الفعلي الافتراضي في 1800 ثانية (30 دقيقة).

الخطوة الثالثة: الواجهة الخلفية Spring Boot تنشئ عنوان URL ديناميكيًا (3 دقائق)

الآن نريد تحقيق ذلك: عندما ينقر المستخدم على مقطع فيديو في الواجهة الأمامية ، تقوم الواجهة الخلفية بحساب رابط تشغيل آمن مع التوقيت من خلال "المفتاح الرئيسي" الآن.

1. إدخال التبعية

أدخل فئة الأدوات الأساسية لـ Ali Cloud عند الطلب في مشروع Spring Boot الخاص بك:

<اعتماد>

<GroupI d>org.apache.com mons</groupId>

<ArtifactId> commons-lang3</artifactId>

<Version> 3.12.0</version>

</تبعية>

<اعتماد>

<GroupId> commons-codec</groupId>

<ArtifactId> commons-codec</artifactId>

<Version> 1.15</version>

</تبعية>

2-تجميع أدوات خوارزمية الضمان

ليست هناك حاجة لإدخال SDK رسمي كبير. إن مخطط تحديد URL A الخاص بـ Alibaba Cloud هو في الأساس خوارزمية توقيع MD5 قياسية. قم بنسخ رمز البضائع الجافة النقية أدناه مباشرة من أجلك:

الخطوة الثالثة: برمجة مكوّن العد التنازلي في الواجهة الأمامية باستخدام Vue (1 دقيقة)

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

هنا على

Vue 3 (واجهة برمجة التجميع) Axios

على سبيل المثال، نعرض مباشرةً الشيفرة البرمجية الأكثر وضوحًا:

<قالب>

<div class="sms-box">

<input type="text" v-model="phone" placeholder="يرجى إدخال رقم الهاتف الجوال" />

<button :disabled="isCounting" @click="handleSend">

{{ إذا كان العدّ؟ '${countdown} ثوانٍ ثم إعادة الحصول': 'الحصول على رمز التحقق' }}

</زر)

</div>

</قالب>

<سكريبت إعداد>

استيراد {ref} من 'vue';

استيراد axios من 'axios';

const phone = ref('');

const العد التنازلي = ref(60);

const هو_العد = ref(false);

let timer = null;

const handleSend = async () => {

إذا لم يكن /^1[3-9]\d{9}$/.test(قيمة الهاتف)) {

تنبيه: يرجى إدخال رقم هاتف جوال صحيح.

إرجاع؛

}

جرّب {

// استدعاء واجهة الخادم الخلفي

Const res = await axios.post('/api/sms/send ؟ هاتف=${هاتف.value}');

تنبيه(بيانات.الرد);

// تفعيل العد التنازلي

ابدأ العد التنازلي();

} باستثناء (خطأ) {

تنبيه: الاستجابة الخطأ؟ البيانات || 'فشل الطلب')؛

}

};

const startCountdown = () => {

isCounting.value = true;

countdown.value = 60;

Timer = setInterval (

() => {

countdown.value--;

إذا (countdown.value <= 0) {

إيقاف الفاصل الزمني؛

isCounting.value = false;

}

}, 1000);

};

</script>

دليل تجنّب المخاطر في بيئة الإنتاج (خبرات مكتسَبة من معاناة التشغيل والصيانة)

احذر من تعرض واجهة الاتصال لـ«قصف رسائل نصية» من قبل القراصنة! بمجرد نشر الواجهة، سيستخدم المخترقون برامج نصية آلية لإرسال طلبات مكثفة إلى واجهتك /api/sms/send باستخدام عشرات الآلاف من أرقام الهواتف العشوائية. يمكنه أن يُفرغ رصيد حسابك على منصة علي بابا سحابة بالكامل خلال ليلة واحدة. الدفاع بالقاعدة الصارمة: بالإضافة إلى إعداد عدٍّ تنازلي لمدة 60 ثانية في الواجهة الأمامية، واعتماد Redis في الواجهة الخلفية لفرض قيود على تكرار الإرسال باستخدام رقم الهاتف الواحد خلال 60 ثانية، لا بدّ من إلزام واجهة إرسال الرسائل القصيرة بإضافة “رمز تحقق رسومي” أو “آلية التحقق من كون المستخدم إنسانًا عبر السحب”. لا تُرسَل الرسائل النصية من الخادم إلا في حالة وجود طلب قانوني ناجح لإكمال البازل.

تسبب "حد التردد" الذي تسبب في الإبلاغ عن أخطاء Alibian Cloud ، وقد جلبت الرسالة النصية الرسمية لـ Alibaba Cloud مجموعة من آليات التحكم في التدفق ومنع الفرشاة (لا يوجد أكثر من رقم هاتف محمول واحد في دقيقة واحدة ، ولا يزيد عن 5 في ساعة واحدة ، ولا يزيد عن 10 في يوم واحد). إذا كنت أثناء الاختبار المحلي ترسل رسائل نصية إلى نفسك بشكل مكثف، وفجأة ظهرت لك رسالة الخطأ isv.BUSINESS_LIMIT_CONTROL، فلا داعي للقلق؛ فهذا لا يعني وجود خطأ في الكود، بل إن حسابك قد تعرض للتقييد من قبل علي بابا كلاود، وسيتم رفع التقييد تلقائيًا غدًا.

بتنفيذ هذه الدورة المغلقة بين الواجهة الأمامية والخلفية، يكتسب تطبيق الخدمات الصغيرة الخاص بك رسمياً قدرة على إرسال الإشعارات عبر الرسائل القصيرة بشكل متوافق وآمن. سارع إلى الترتيب والتجربة!

1
← 返回新闻中心