Inline-onebox لا يستخدم SiteSetting.onebox_user_agent

أهلاً،

لقد قمنا مؤخرًا بنشر Anubis على خادمنا للحماية من زواحف الذكاء الاصطناعي كثيفة الاستخدام للموارد. يقوم بإرسال صفحة ثابتة بعنوان “Making sure you’re not a bot!” (نتأكد من أنك لست روبوتًا!) إلى الطلبات المرسلة بعوامل مستخدم تشبه المتصفح، ويقوم بإثبات عمل جافاسكريبت، ثم يعيد التوجيه إلى الصفحة الصحيحة. يمكن لعوامل المستخدم التي لا تحتوي على “Mozilla” في اسمها الوصول مباشرة إلى الصفحة.

الآن معاينات روابط الـ onebox في discourse معطلة، ولكن فقط للروابط المضمنة.

بالنظر إلى سجلات الخادم، يرسل discourse نوعين مختلفين من عوامل المستخدم:

  • Discourse Forum Onebox v3.4.1 لمعاينات روابط الـ onebox الكبيرة (انظر lib/onebox/helpers.rb#L217-L226 في 03f3e84ce520d375aa1c66bb0e95cc5ed9832776)

  • Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15 لمعاينات الروابط المضمنة (انظر lib/final_destination.rb#L40 في 03f3e84ce520d375aa1c66bb0e95cc5ed9832776)

لقد جربت “Force custom user agent hosts” في إعدادات المسؤول، والتي تدعي "المضيفين الذين سيتم استخدام عامل المستخدم المخصص للـ onebox عليهم في جميع الطلبات."، لكنها لم تحدث فرقًا.

لقد اختبرت أيضًا تغيير الإعداد المخفي onebox_user_agent، لكنه يغير فقط عامل المستخدم لمعاينة روابط الـ onebox العادية، وليس المعاينة المضمنة.

يبدو هذا خطأً بالنسبة لي، ألن يكون من المنطقي استخدام نفس عامل المستخدم القابل للتكوين Discourse Forum Onebox لمعاينات الروابط المضمنة أيضًا؟

شكرًا!

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

أتلقى أيضًا طلبين مختلفين لـ onebox، طلب HEAD واحد يستخدم وكيل مستخدم للمتصفح، وطلب GET واحد يستخدم وكيل مستخدم يمكن التعرف عليه. إذا تمت إعادة توجيه طلب HEAD (إلى صفحة تحدي)، تتبعها ثلاثة طلبات، كلها إلى الصفحة المعاد توجيهها.

يجب عليّ وضع علامة بيضاء على جميع طلبات HEAD في نظام التحدي الخاص بنا لكي يعمل onebox. ليس فقط inline-onebox، ولكن أيضًا block onebox.

يبدو هذا كطلب ميزة مقابل خطأ. الـ onebox المضمن والـ onebox هما ميزتان مختلفتان تستخدمان الشبكة بطرق مختلفة. ربما نحتاج إلى إعداد موقع آخر هنا.

أنا موافق على إضافة إعداد مخفي آخر للـ onebox المضمن على الأقل سيسمح لك بالعمل.