كيف يمكنك معرفة ما إذا تم التلاعب بحالة العرض في تطبيق ASP.Net؟
سؤال
أثناء مناقشة حول الأمان، سأل أحد المطورين في فريقي عما إذا كانت هناك طريقة لمعرفة ما إذا كان قد تم التلاعب بحالة العرض أم لا.أشعر بالحرج أن أقول إنني لم أعرف الإجابة.أخبرته أنني سأكتشف ذلك، لكنني اعتقدت أنني سأعطي شخصًا ما هنا فرصة للإجابة أولاً.أعلم أن هناك بعض التحقق التلقائي من الصحة، ولكن هل هناك طريقة للقيام بذلك يدويًا إذا لم يتم تمكين التحقق من صحة الحدث؟
المحلول
توجيه صفحة EnableViewStateMac
نصائح أخرى
يتم تشفير ViewState بشكل افتراضي بواسطة MIME وتجزئته باستخدام مفتاح MAC (إما من الجهاز أو من ملف web.config)، مما يساعد على منع التلاعب (على سبيل المثال.فك التشفير ينفجر).يمكنك أيضًا تشفير وضغط ViewState إذا كنت ترغب في الحصول على مزيد من الحماية وتقليل الحمل، على التوالي.يرى حالة عرض MS و CodeProject.com
قد تكون قادرًا على القيام بذلك يدويًا، ولكنك ستنفذ نفس الخوارزمية الموجودة بالفعل من أجلك.إنها فكرة سيئة عمومًا تعطيل التحقق من صحة ViewState على الصفحة.