سؤال

أخطط للعمل في مشروع جديد وتم إغراء الآن باستخدام ASP.NET MVC. خطط مشروعي لاستخدام jQuery و ajax (على الرغم من أن عملاء غير JS سيتم دعمهم أيضا). القادمة من خلفية ASP.NET قياسية، ما زلت أحاول الحصول على رأسي حول نموذج MVC (مع مساعدة كبيرة من سكوت غوثري). ومع ذلك، فإن قلقي الرئيسي مع استخدام MVC هو الجوانب الأمنية. لقد فعلت الكثير من الأمان مع ASP.NET وأنا أعرف كيفية التعامل مع ناقلات الهجوم المختلفة. هل سأحتاج إلى إعادة تعلم الأمن مع ASP.NET MVC؟ هل هناك تهديدات جديدة، أو حتى طرق جديدة للتعامل مع التهديدات القديمة، على أن أقرأها؟ لقد طلبت زوجين من كتب ASP.NET MVC (التي لها فصول حول الأمن)، لكن أود أن أعرف تجربة أي شخص آخر في هذا.

شكرًا

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

المحلول

يعتمد على ما تقصد فيه الأمن.

إذن هو نفسه في الأساس، إن لم يكن أسهل. يتم دعم مصادقة النماذج وتشجيعها وتحتاج فقط [Authorize] السمة على وحدات التحكم أو إجراءات تحكم. ليس كثيرا لمعرفة هناك.

لقد ولت ViewState، لذلك لا داعي للقلق بشأن التحقق من الصحة أو أي من ذلك kludge.

إذا كنت تشير إلى XSS، أود أن أقول إنه نفس الشيء؛ تحتاج إلى الهروب من بياناتك على الإخراج ومن السهل جدا القيام به:

<%= Html.Encode(Model.SomeString) %>

الشيء الوحيد الذي يمكنني التفكير فيه قد تجد مختلفا قليلا هو التعامل مع CSRF / XSRF. لحسن الحظ، معظم هذا بالفعل بنيت في الإطار.

لذلك فقط أقول لا، لا ينبغي أن تكون منحنى التعلم للأمن في ASP.NET MVC تقريبا شديدة الانحدار مثل منحنى التعلم للهندسة المعمارية نفسها.

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