حل مشكلة Validation of viewstate MAC failed

مرحبًا بك أيها المبرمج العربي :)

اثناء العمل على تطوير المشاريع او حتى نشرها يظهر لنا هذا الخطأ :

Validation of viewstate MAC failed

machine-key

وغالبًا يظهر عند حدوث تأخر النقر على زر لفترة تتجاوز مدة الجلسة

ما فائدتها ؟

ان وظيفة التحقق view state validation تتحقق من المدخلات الأصلية للطلب السابق قبل معالجة المدخلات الجديدة , وتعتمد في عميلة التحقق هذه على تشفير جميع المدخلات بالإعتماد على مفتاح التشفير الذي نقوم بتزويدة للتطبيق في ملف web.config

ولها فوائد عديدة في حماية الموقع الخاص بك من ادخال الطلبات بشكل عشوائي بإستخدام http requests المباشرة حيث ان viewstate يتم تخزينها داخل بنية الصفحة HTML وبذلك لا يمكن استخدام النماذج بالإعتماد فقط على httpheaders

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

لذا عملية التحقق هذه مفيدة ولا يمكن اعتبار إلغاؤها حل للمشكلة , كما يذكر انها أحد مميزات تقنية ASP.NET الغير متوفرة بشكل افتراضي في لغات أخرى مثل php

كيفية حل المشكلة ؟

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