سؤال

لقد بنيت تطبيق يستخدم مسج سلمان تستهلك ASP.NET .asmx خدمة ويب لتنفيذ عمليات الخام.التطبيق .asmx في نفس المجال.أنا لا أمانع الناس تستهلك قراءة العمليات .asmx عن بعد ولكن لا نريد من الناس بشكل عشوائي حذف الاشياء!!!

أنا يمكن تقسيم أساليب أود أن تكون متاحة للجمهور و 'الخفية' منها في 2 خدمات ويب.كيف يمكنني قفل المكالمات إلى 'الخفية'.asmx خدمة الإنترنت في نفس المجال التي استضافت فيها ؟

شكرا مقدما.

تحرير: شخص ما يمكن أن أعلق على هذا ، يبدو مقبولا ( المصدر: http://www.slideshare.net/simon/web-security-horror-stories-presentation ):اياكس يمكن تعيين رؤوس Http النماذج العادي غير قادر.طلبات اياكس يجب أن يكون من نفس المجال.

حتى "x-طلب-مع" "مدعوم" يجب أن تكون الطلبات من نفس المجال.

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

المحلول

هناك اثنين من السيناريوهات تحتاج إلى تأمين مع خدمات الويب:

  1. هو مصادقة المستخدم?
  2. هو عمل قادمة من صفحتي ؟

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

السيناريو الثاني هو اصعب قليلا القصة.الهجوم يعرف باسم CSRF أو XSRF (عبر الموقع طلب التزوير).وهذا يعني أن موقع على شبكة الانترنت الخبيثة بتنفيذ الإجراءات باسم المستخدم الخاص بك في حين انهم ما زالوا تسجيل الدخول إلى موقع الويب الخاص بك. من هنا writeup على XSRF.

جيف أتوود نوع من يلخص كل ذلك في الرابط أعلاه, ولكن هنا هو XSRF الحماية في أربع خطوات:

  1. كتابة GUID الخاص بك المستخدم ملف تعريف الارتباط.
  2. قبل اياكس الاتصال, قراءة هذه القيمة من كوكي و إضافته إلى خدمة ويب آخر.
  3. على جانب الملقم ، مقارنة شكل القيمة مع قيمة ملف تعريف الارتباط.
  4. لأن المواقع لا يمكن قراءة ملفات الكوكيز من مجال آخر ، كنت آمنة.

نصائح أخرى

في اياكس المتصفح يجعل المكالمات, حتى إذا كنت تريد التحقق من هذا المجال هو نفسه أنها لن تكون آمنة بما فيه الكفاية لأنه يمكن بسهولة أن تكون مزورة.

تحتاج إلى استخدام نوع من authetication/autharization الرموز (ويفضل مع الوقت) للحفاظ على الأشياء آمنة.

سريعة وقذرة حل هو استخدام عنوان IP القيود المفروضة على المجال الخاص بك عنوان IP الوصول عن طريق IIS.

ربما سيكون من الأفضل استخدام مصادقة HTTP.هناك العديد من الطرق للقيام بذلك ، وجدت المصادقة في ASP.NET خدمات الويب نظرة عامة مفيدة.

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