Loading...

الأمان · قراءة 6 دقائق

حماية Hotlink: أوقف استهلاك المواقع الأخرى لعرض نطاقك

الربط المباشر (hotlinking) هو أن يضمّن موقع آخر صورك أو ملفاتك عبر الرابط مباشرة، فيحمّلها زوارُه من خوادمك أنت — تدفع أنت عرض النطاق، ويحصلون هم على المحتوى. خيط واحد شائع في منتدى يضمّن صورة منتجك قد يتحول بهدوء إلى شريحة ملموسة من فاتورة حركة المرور لديك. الحماية هنا تحكّم صغير ومحدد الهدف: افحص من يطلب، قدّم لصفحاتك أنت وللشركاء المسموح لهم، وارفض الباقي. يشرح هذا الدليل كيف تعمل، وحدودها الصادقة، وكيف تفعّلها دون كسر ما تريده أن يعمل.

Updated

حماية Hotlink: أوقف استهلاك المواقع الأخرى لعرض نطاقك

ما هو الربط المباشر وكم يكلّف

لكل صورة على موقعك رابط، ولا شيء في HTML يمنع موقعًا آخر من وضع ذلك الرابط في وسم img خاص به. وعندما يفعل، يحمّل كل زائر لصفحته الملف من بنيتك التحتية أنت: تجربة محتوى لهم، وعرض نطاق عليك، وفاتورة CDN عليك. وينطبق الأمر نفسه على ملفات PDF والخطوط وملفات الفيديو — كل ما يمكن الوصول إليه بعنوان.

نمط الكلفة هو ما يجعل الأمر خبيثًا. تضمين واحد لا يكلّف شيئًا ملحوظًا؛ أما منشور منتدى شائع، أو صفحة تجميع انتشرت، أو موقع بناه كاشط يضمّن مئات من صورك، فلا يعلن عن نفسه — يظهر فقط كحركة مرور لا تستطيع مطابقتها مع صفحاتك. إذا أظهرت تحليلاتك طلبات وسائط كبيرة بمصادر إحالة أجنبية، فأنت تموّل موقع شخص آخر.

كيف تعمل الحماية المعتمدة على Referer

تُرفق المتصفحات ترويسة Referer بالطلبات الفرعية: عندما تحمّل صفحة صورةً، يحمل الطلب عنوان الصفحة. تقرأ حماية hotlink هذه الترويسة عند الحافة وتطبّق سياسة بسيطة — إذا كانت الصفحة الطالبة تنتمي إلى نطاقاتك (أو شركاء تسمح لهم)، قدّم؛ وإذا كانت تنتمي إلى مكان آخر، ارفض.

يحدث الرفض عند الحافة، قبل أن يرى أصلك أي شيء، فيتوقف عرض النطاق المسروق فورًا. بعض المواقع تقدّم بدل الحظر الصريح صورة بديلة صغيرة بعبارة "صورة مستضافة لدى…"، فتحوّل السرقة إلى إعلان مجاني — حيلة لطيفة، لكن الرفض الصريح هو المعيار والإعداد الافتراضي الأبسط.

الحدود الصادقة: ما الذي لا تحميه هذه الميزة

ترويسة Referer يوفّرها العميل. يمكن لسكربت تزويرها، ولإضافة خصوصية حذفها، وبعض السياقات المشروعة لا ترسلها أصلًا. فكن دقيقًا في توصيف حماية hotlink: هي تحكّم في الكلفة يوقف الحالة الغالبة الساحقة — التضمين العرضي من مواقع أخرى — وليست آلية تحكّم في الوصول.

يترتب على ذلك أمران. أولًا، قرر ماذا تفعل بالـ referer الفارغ: إن حظرته كسرت الزوار خلف أدوات خصوصية صارمة وفتح الروابط المباشر وبعض قارئات الخلاصات؛ وإن سمحت به استطاع كاشط مصمِّم التسلل بعدم إرسال أي referer. معظم المواقع تسمح بالفارغ وتتقبل هذه الفجوة. ثانيًا، كل ما يجب أن يبقى خاصًا فعلًا — تنزيلات مدفوعة، مستندات مستخدمين — يحتاج مصادقة حقيقية أو روابط موقّعة منتهية الصلاحية، وتلك ميزة مختلفة تحل مشكلة مختلفة.

تفعيلها دون كسر الاستخدام المشروع

حماية Hotlink: أوقف استهلاك المواقع الأخرى لعرض نطاقك — تفعيلها دون كسر الاستخدام المشروع
security لكل قاعدة: قواعد IP وrate limiting وحماية hotlink.

نمط الفشل في حماية hotlink هو الإفراط في الحظر: صور نشرتك البريدية في عملاء البريد، صفحاتك المحفوظة في تطبيقات القراءة اللاحقة، موقع شريك تريده فعلًا أن يضمّنك. لذا حدّد نطاقها بعناية.

على cdn.com.tr يقع التحكم على قاعدة التوصيل: قائمة سماح أو حظر لكل قاعدة، تُدار في اللوحة إلى جانب إعدادات الكاش والأمان للقاعدة نفسها. هذا الموضع هو المقصود بعينه — طبّقها على القاعدة المطابقة لمسارات وسائطك، وأدرج نطاقاتك (بما فيها www وأي نطاقات فرعية تضمّن محتواك بشكل مشروع)، وأضف الشركاء عند الحاجة، واترك قاعدة HTML كما هي. ثم اختبر الحالات الثلاث قبل أن تنصرف: صفحتك تعرض صورها كالمعتاد، وreferer الأجنبي يُرفض، والفتح المباشر في تبويب جديد يتصرف بالطريقة التي اخترتها للـ referer الفارغ.

تحقق من الحالات الثلاث بأوامر curl

# your own page as referer — must serve
curl -s -o /dev/null -w '%{http_code}\n' -e 'https://www.example.com/page' https://cdn.example.com/img/product.jpg

# foreign referer — must be refused
curl -s -o /dev/null -w '%{http_code}\n' -e 'https://other-site.com/thread' https://cdn.example.com/img/product.jpg

# no referer — whichever you chose, verify it is deliberate
curl -s -o /dev/null -w '%{http_code}\n' https://cdn.example.com/img/product.jpg

أسئلة شائعة

هل تكسر حماية hotlink صور Google؟

قد تفعل، إذا حظرت الـ referer الفارغ وreferer محركات البحث — والظهور في بحث الصور حركة مرور تريدها عادةً. اسمح بـ referer محركات البحث (وبالفارغ عادةً) ما لم يكن لديك سبب محدد لخلاف ذلك.

هل تمنع الناس من تنزيل صوري وإعادة رفعها؟

لا. حماية hotlink توقف بنيتك التحتية عن خدمة جمهورهم؛ لكنها لا تستطيع منع النسخ. الحماية من النسخ مسألة قانونية وعلامات مائية، لا مسألة عرض نطاق.

هل أحمي كل شيء أم الوسائط فقط؟

الوسائط فقط، عبر القاعدة المطابقة لتلك المسارات. حماية HTML بلا معنى (الصفحات هي ما تريد زيارته)، والنطاق المحدد لكل قاعدة هو بالضبط ما يمنع التحكّم من كسر التصفح العادي.

ماذا عن الملفات المدفوعة أو الخاصة؟

ليست هذه الميزة. فحوص Referer تردع التضمين العرضي؛ أما المحتوى ذو القيمة الحقيقية فاستخدم له المصادقة أو روابط موقّعة منتهية الصلاحية، بحيث لا تكفي حيازة الرابط وحدها.