روابط الوسائط تتعطل في النسخ أو الاقتباس عند تشغيل "الوسائط الآمنة"

خطوات التكرار:

  1. فعّل الوسائط الآمنة
  2. أنشئ موضوعًا جديدًا واسحب وسائط (ملف PDF سيكون كافيًا)
  3. رد على موضوعك بنسخ ولصق الوسائط (أو اقتبس نفسك فقط)

الآن يمكنك ملاحظة أن النقر على مرفق الوسائط الأصلي يعمل بشكل صحيح، لكن النقر على رابط الوسائط المنسوخ/المقتبس (حتى لو كان نفس الرابط تمامًا) يؤدي إلى صفحة خطأ:
image
أعتقد أن الأمر قد يكون مرتبطًا بوسم الـ referrer، لأن هذا هو الاختلاف الوحيد.

إعجاب واحد (1)

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

يمكن لمartin التأكيد في وقت لاحق من هذا الأسبوع

شكرًا على ردك!

إذا كان القصد هو ربط الوسائط بالمنشور، فهناك “خطأ” أكبر بكثير، لأنه كما يعمل حاليًا، يمكنك نسخ رابط الوسائط (ويبدو هكذا https://www.my.domain/secure-media-uploads/original/1X/db86496651c78aa64adbe43b2907654555002.pdf) ومشاركته ببساطة مع أي شخص مسجّل الدخول إلى Discourse، ويمكنه لصقه في شريط عناوين المتصفح (دون حتى فتح Discourse) وتنزيل الملف.

هذه الميزة تعمل فقط مع S3، ومن غير الواضح ما إذا كانت مفعلة لديك أم لا؟

نعم، تم تمكين S3. وإلا لما تمكنت من استخدام “وسائط آمنة”.

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

آه، هذه نقطة جيدة. سأختبرها فورًا.

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

سأحاول إلقاء نظرة على هذا من أجلك هذا الأسبوع، شكرًا لك على التقرير.

3 إعجابات

نعتذر عن التأخير، تم حل هذه المشكلة عبر FIX: Add secure media url to SERVER_SIDE_ONLY list by martin-brennan · Pull Request #11348 · discourse/discourse · GitHub

3 إعجابات