سؤال

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

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

المحلول

هذا عيب (وجدت هنا) نقاط الطريق إلى الحل.هر سبيل المثال أن يعمل في جبوس تكوين emptySessionPath="true" بدلا من "كاذبة" ، الذي هو الافتراضي.هذا يمكن تعديلها في .../deploy/jboss-web.deployer/server.xml;كل HTTP AJP موصلات لديك هذا الخيار.

ميزة في حد ذاته يستخدم للقضاء على سياق المسار (على سبيل المثال."فو" في http://example.com/foo) من يتم تضمينها في JSESSIONID الكعكة.تعيين إلى false كسر التطبيقات التي تعتمد على عبر تطبيق المصادقة ، الذي يشمل الأشياء التي تم إنشاؤها باستخدام بعض بوابة الأطر.لم تؤثر سلبا على التطبيق في السؤال ، ولكن.

نصائح أخرى

هذه المشكلة المحددة الحالة التي يحدث فيها مشكلة في هر وكذلك جبوس.هر أسهم emptySessionPath="true" تأثير (و في الواقع جبوس يرث من هر).

هذا يبدو حقا مثل الخلل في هر و جبوس عندما تحاول منع الدورة التثبيت الهجمات ولكن بريمج المواصفات (على الأقل النسخة 2.3) في الواقع لا تتطلب JSESSIONID إلى تحديد أو تعريف وفق أي منطق.ولعل هذا تم تنظيفها في الإصدارات الأحدث.

الحل واحد لتخزين عنوان العميل في الدورة.رد المجمع يجب التحقق من صحة عنوان العميل في جلسة واحدة الوصول إلى الدورة.

عرفت أدناه كود وضع مقتطف من واحد من المنتدى.و أضفت أدناه الخطوط.ولكن عند طباعة معرف جلسة العمل قبل و بعد تسجيل الدخول إلى التطبيق نفسه.كيف يمكنني اختبار دورة التثبيت.

  1. D:\jboss-5.1.0.GA\bin un.cof الملف وإضافة أدناه خط.مجموعة "JAVA_OPTS=%JAVA_OPTS% -Dorg.أباتشي.كاتالينا.موصل.طلب.SESSION_ID_CHECK=false"

  2. في كل context.xml من جبوس التطبيقات.D:\jboss-5.1.0.GA\server\default\deploy\jbossweb.sar\context.xml

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