كيف هو نمط تصميم "كائن السياق" المستخدم لتعزيز الأمان؟

StackOverflow https://stackoverflow.com/questions/3260323

سؤال

أنا على دراية باستخدام نمط تصميم كائن السياق - مجمع سياق خفيف الوزن حول الكائنات التي تم تمريرها بين المستوى.

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

على سبيل المثال: يرسل المستخدم بيانات السياق "HTTP / HTML" الذي سيتم تخزينه في النهاية كملف على النظام. يمكن أن تكتشف طريقة حفظ الملف من السياق وتكوين كيانات HTML، وتعيين معرف عشوائي لتحميل الملف، وربط إجراءات المستخدم واسم الملف في قاعدة البيانات.

سؤالي هو: كيف يتم ذلك أكثر ذكاء من تطبيق جميع التصفية أو الترميز والتحقق من الصحة افتراضيا؟ ما هي الحالات الموجودة حيث يحسن معرفة سياق المنشأ الأمن إلى ما بعد التحقق من صحة / ترميز مدخلات جيدة؟

أنا أعمل في Java / J2ee / Struts ولكن هذا يعزز إلى لغات وأطر أخرى.

المراجع:

href="http://www.corej2eepatterns.com/patterns2nded/contextobject.htm" rel="nofollowoln noreferrer"> http://www.corej2eepatterns.com/patterns2nded/contextobject.htm

href="http://www.cs.wustl.edu/~schmidt/pdf/context- pattern.pject-pattern.pdf" rel="nofollow noreferrer"> http://www.cs.wustl. EDU / ~ SCHMIDT / PDF / Context-Object-Pattern.pdf

p> href="http://www.owasp.org/index.php/category:owasp_security_analysis_of_core_j2ee_design_patterns_project"> http://www.owasp.org/index.php/category:owasp_security_analysis_of_core_j2ee_design_patterns_project

مع شكر بلدي،

-Ben

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

المحلول

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

حيث يمكنني أن أرى أن يكون هذا الاستخدام كآلية أمان موجودة في إنشاء طبقة أمان صريحة داخل طلبك. تخيل أنه نظرا لأن كل مستخدم يصادق بنظامك، يتم إنشاء كائن سياق أمان داخل طبقة الأمان لهذا المستخدم. يحتوي كائن سياق الأمان على قائمة بجميع أذونات هذا المستخدم. يجب على كل طلب يدخل النظام من أي مستخدم أولا المرور عبر طبقة الأمان ويتم تقييمه مقابل كائن سياق أمان المستخدم.

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

في هذه الحالة ينفذ كائن سياق الأمان نمط كائن السياق. يعد كائن السياق طويلا، مما يوفر السياق لطلبات المستخدمين المتعددة، ولكنه غير مرئي في الطبقات الأعلى أو السفلية في مكدس الطلب.

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