سؤال

فيما يلي بعض الممارسات المعروفة لتأمين تطبيق MVC:

  • تشفير الإخراج الخاص بك
  • معلمة SQL الخاصة بك
  • اختبر بحثك للخلف وإلى الأمام
  • كلمة مرور هاش واحدة
  • قفل الحسابات أو الحد من محاولات تسجيل الدخول
  • استخدم الانتحال المستند إلى الرمز عند الوصول إلى نظام الملفات
  • الوصول إلى SQL مع اسم مستخدم مغلق أسفل
  • استخدم أصوات العسل أو الكابتن لالتقاطات النموذج لمواجهة الروبوتات

إذا كان هناك أي فاتني أو أخطأ ، فلا تتردد في المساهمة.

ما هي التقنيات الأخرى/أفضل الممارسات التي تستخدمها أو تفكر فيها عند اختبار القلم الخاص بك. ماذا تفعل "لركل الإطارات" قبل التقاط الطلبات مباشرة.

ما هي خدمات اختبار القلم أو البرامج التي تستخدمها إن وجدت؟

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

المحلول

يجب تأمين جميع الطرق التي تستخدم النموذج مع القوائم البيضاء أو قوائم السوداء على خصائص قابلة للملل.

string[] allowedProperties = new[]{ "Title", "Description"};
UpdateModel(myObject, allowedProperties);

أو

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create([Bind(Include="Title,Description")] MyObject object )
{

}

هذا بالطبع لمنع الطلبات المصنوعة من محاولة تحديث/معالجة كائناتك بطرق لم تكن المقصود.

نصائح أخرى

قائمتك جيدة ، على الرغم من أنها غامضة بعض الشيء. على سبيل المثال ، يعد MD4 عبارة عن تجزئة واحدة ، ولكنها غير آمنة للغاية حيث يمكنني توليد تصادم على سطح المكتب في أقل من يوم واحد. SHA256 مع قيمة الملح الكبيرة هو نهج أكثر أمانًا. (أعرف حتى هذا الوصف غير مكتمل ، لا تشهب)

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

ال OWASP أعلى 10 نقاط الضعف على تطبيق الويب هي مورد ممتاز يجب أن تدرسه. وأبرزك أنك تفتقد XSRF في قائمتك والتي يمكن أن تكون هجومًا مدمرًا. هناك عدد كبير من الهجمات القائمة على "بالوعة" التي لم تدرجها. على سبيل المثال ، ماذا لو كان بإمكان المهاجم أن يمر في طريق من اختياره إلى Fopen؟ دراسة في القرمزي يذهب فوق العديد من هذه الهجمات ضد PHP.

تنطبق جميع اقتراحاتك على أي تطبيق ويب ، وليس فقط تطبيقات MVC.

ستكون الاقتراحات الخاصة بـ MVC مثل "وحدات التحكم النحيفة ، نماذج الدهون".

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