سؤال

هل من الممكن الكشف عن ما إذا كان يتم إجراء طلب وارد من خلال خادم وكيل؟ إذا كان تطبيق ويب "يمنع" المستخدمين عبر عنوان IP، يمكنها تجاوز هذه باستخدام ملقم وكيل. هذا هو مجرد سبب واحد لمنع هذه الطلبات. كيف يمكن تحقيق ذلك؟

هل كانت مفيدة؟

المحلول

وIMHO ليس هناك طريقة يمكن الاعتماد عليها بنسبة 100٪ لتحقيق ذلك ولكن وجود أي من العناوين التالية هو مؤشر قوي على أن الطلب تم توجيهها من الملقم الوكيل:

via:
forwarded:
x-forwarded-for:
client-ip: 

هل يمكن أيضا البحث عن وكيل <م> أو <م> pxy في اسم المجال العميل.

نصائح أخرى

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

ومعظم خوادم بروكسي رؤوس العرض كما ذكر البعض الآخر، ولكن تلك ليست موجودة على وكلاء يعني لإخفاء تماما للمستخدم.

وسوف تحتاج إلى استخدام عدة طرق الكشف، مثل ملفات تعريف الارتباط، وكشف رأس وكيل، وربما الاستدلال IP للكشف عن مثل هذه الحالات. تحقق من http://www.osix.net/modules/article/؟id=765 للحصول على بعض المعلومات عن هذا الوضع. ضع في اعتبارك أيضا باستخدام القائمة السوداء وكيل - يتم نشرها من قبل العديد من المنظمات

ولكن، لا شيء 100٪ معين. يمكنك استخدام تكتيكات أعلاه لتجنب الحالات الأكثر بسيطة، ولكن في نهاية المطاف انها مجرد سلسلة من الحزم تشكيل المعاملة TCP / IP، وأنه لم يعد فيه بروتوكول TCP / IP مع الأفكار اليوم على الأمن، والتوثيق، الخ .

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

و-Adam

هل قليلا من حفر على هذه المسألة بعد نطاقي حصلت استضافت حتى على AppSpot.com غوغل مع لطيفة الإعلانات الاباحية المتشددين ضخه منه (بفضل جوجل).

وأخذ ورقة من هذه فكرة هتكس أنا أفعل ما يلي، والتي يبدو أن العمل. أضفت قاعدة محددة لAppSpot الذي يضخ ServerVariable HTTP_X_APPENGINE_COUNTRY.

    Dim varys As New List(Of String)
    varys.Add("VIA")
    varys.Add("FORWARDED")
    varys.Add("USERAGENT_VIA")
    varys.Add("X_FORWARDED_FOR")
    varys.Add("PROXY_CONNECTION")
    varys.Add("XPROXY_CONNECTION")
    varys.Add("HTTP_PC_REMOTE_ADDR")
    varys.Add("HTTP_CLIENT_IP")
    varys.Add("HTTP_X_APPENGINE_COUNTRY")
    For Each vary As String In varys
        If Not String.IsNullOrEmpty(HttpContext.Current.Request.Headers(vary)) Then HttpContext.Current.Response.Redirect("http://www.your-real-domain.com")
    Next

ويمكنك البحث عن هذه الرؤوس في كائن طلب وفقا لتقرير ما إذا كان الطلب عبر وكيل / لا

1) عن طريق 2) X-احال مقابل

ونلاحظ أن هذا ليس متأكدا 100٪ طلقة خدعة، يعتمد على ما إذا كانت هذه خوادم بروكسي اختيار لإضافة فوق رؤوس.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top