سؤال

على الرغم من أن هذا يبدو سخيفًا، إلا أنني لم أتمكن من العثور على طريقة للحصول على عنوان IP الخاص بالعميل في Play 2.0.كان متاحًا في الإصدار 1.2.x Http.Request.remoteAddress, ، ولكن 2.0 (لقد قمت في المقام الأول بفحص Scala API، لكنني قمت بفحص سريع لـ Java أيضًا) يبدو أنه يوفر معلومات حول جانب الخادم للطلب في play(.api).mvc.Request.هل هناك شيء أفتقده؟أقرب اختراق يمكنني التفكير فيه الآن هو إعداده خلف وكيل عكسي ثم التحقق X-Forwarded-For, ، لكن هذا لا يعمل بشكل جيد في عملية التطوير.

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

المحلول

تحرير: بالعودة إلى هذه الإجابة، تمت إضافة هذا في playframework 2.0.2:انظر إعلان الإصدار على https://groups.google.com/forum/#!msg/play-framework/Z97GQ2VnR5M/T-STGaeuN68J%5B1-25%5D والأهم من ذلك وثائق API في http://www.playframework.org/documentation/api/2.0.2/scala/index.html#play.api.mvc.Request

كما ترون هناك الآن الدعم ل Request.remoteAddress

إبداعي:

يوجد حاليًا خطأ مفتوح لهذا في المتتبع: https://play.lighthouseapp.com/projects/82401/tickets/256-add-back-requestheaderremoteaddress

أعتقد أن اختراق مكتبات play2.0 لتضمين التصحيح المرتبط هو أفضل رهان حاليًا.ربما لا يزال الأمر أنظف من استخدام وكيل لغرض وحيد هو إضافة رؤوس XFF، واستخدامها لتحديد عنوان IP.

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