أحتاج إلى حظر جغرافي لعدد قليل من البلدان وأنظمة الحكم الذاتي (ASes)، ولكن لأسباب واضحة لا يمكنني استخدام Varnish لهذه المهمة كما هو الحال مع مواقعي الأخرى. هذا يحل تلك المشكلة، إذا كانت لا تزال تعمل.
لقد أجريت بعض التعديلات الطفيفة للتكيف مع حالة الاستخدام الخاصة بي: حظر عناوين URL معينة للمستخدمين في مناطق معينة. ما قمت به هو، في add_model_callback(:application_controller, :before_action)، إضافة بعض قواعد المطابقة الإضافية مع request.fullpath، على سبيل المثال:
أجد أن هذا الحظر الجغرافي على مستوى عنوان URL يعمل إذا قمت بالوصول إلى عنوان URL عن طريق كتابته مباشرة في شريط التنقل في المتصفح. ومع ذلك، إذا انتقلت إلى عنوان URL عن طريق النقر عليه من الصفحة الرئيسية لـ Discourse، فإن هذا لا يعمل. (ولكن بعد الضغط على F5 لتحديث الصفحة، يتم حظره.)
هل يمكنك تقديم أي نصيحة لإصلاح هذه المشكلة؟ شكراً.
ستحتاج إلى إضافة بعض أكواد Ember لاعتراض الموجه أيضًا.
ومع ذلك، أعتقد أنك ستحتاج إلى اتباع نهج مختلف هنا. لم يتم إنشاء هذا المكون الإضافي لهذا النوع من التصفية المحددة.
من المحتمل أن يعمل بشكل أفضل لإنشاء مكون إضافي منفصل يحتوي على آلية لإضافة/إزالة المستخدمين إلى المجموعات بناءً على موقعهم الجغرافي، وبعد ذلك يمكنك الاستفادة من أمان المجموعة الحالي لتقييد أو السماح بالوصول إلى أجزاء معينة من المنتدى.
حسناً شكراً على هذه الإشارة. لم أكن أضع في اعتباري عقد الخروج وليس لدي أي فكرة عن مكان عقد الخروج في الاتصالات، وكان قراءة “ما هو عنوان IP الخاص بي” كافية بالنسبة لي، فقد تطابقت مع المنطقة/البلد الذي تم اختباره للحظر الجغرافي.\n\nلذا، قم بعكس الأمر، لقد قمت بحظر المنطقة التي أقع فيها ولم أستخدم شبكة افتراضية خاصة (VPN)، واستخدم جهازًا مختلفًا يمكنني من خلاله اختبار كل من الشبكة الثابتة والشبكة الخلوية، ولا يزال لا شيء يحدث، ولا يتم تفعيل الحظر الجغرافي كما هو متوقع عند الاتصال.
يرجى تفهم أن الوكيل أو VPN أو Tor سيكون دائمًا قادرًا على التحايل على هذه الأنواع من الآليات. لا يُفترض أن يقوم المكون الإضافي بحظرها. يتم حظر الموقع الجغرافي إما لأسباب قانونية، أو لحظر الوصول للزائر العادي.
هل قمت بذلك؟
إعجاب واحد (1)
RGJ
(Richard - Communiteq)
قسَّم هذا الموضوع في
12
شكراً لك على هذا المكون الرائع.
إذا كان الغرض منه منع البريد العشوائي أو البلدان غير المرغوب فيها من الوصول إلى الصفحات العامة، فهل يمكنه، بالنسبة لنسخة خاصة من Discourse، منع عمليات فحص الروبوتات السيئة أيضاً؟
أدوات الكشط (Scrapers) شيء مختلف، لأنها تسرق المحتوى. روبوتات البريد العشوائي (Spam bots) التي تمثل مشكلة في المثيلات العامة هي مشكلة مماثلة تمامًا للمنتديات الخاصة. لهذا السبب لدينا ذكاء اصطناعي يقوم بمسح المحتوى.
بالنسبة لي، الحظر الجغرافي يقلل قدرًا لا بأس به من المكالمات وتسجيلات الدخول غير المرغوب فيها. يمكنني استخدامه لأن لدي منتدى فنلندي بالكامل [1] ولكن لا يمكن للمنتدى العالمي استخدامه بالطبع.
كل نقرة (knocker) تزيد العبء على خادم الويب، لكن Discourse يختلف عن عالم PHP. يمكن لروبوت بسهولة أن يسبب تأثيرًا من نوع DDoS على WordPress، وعندئذ قد يكون الحظر الجغرافي جزءًا من استراتيجية الدفاع. لكن Discourse أكثر مناعة ضد ذلك، على ما أعتقد.
لكن ضد روبوتات البريد العشوائي، لا يساعد الحظر الجغرافي إذا كان يجب السماح لجميع البلدان.
قد يغير المترجم هذا الوضع، إذا أصبح جاهزًا للإنتاج يومًا ما ↩︎