مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

iran

عضویت از 1394/01/31

Machine Key چیست

  • شنبه 14 بهمن 1396
  • 15:37
تشکر میکنم

سلام

Machine Key in mvc5 چیست وکاربرد ان در mvc5 چگونه است

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 14 بهمن 1396
  • 17:05

Machine Key چیست؟

این ماژول به کاربران کمک می کند تا از داده های view stat و کوکی های هویت سنجی (از طریق تعریف رمزهای عبور) محافظت کنید. با تعریف این ماژول تگی با نام <MachineKey > در فایل web.config ساخته می شود. Viewstat نیز تکنیکی است که در صفحات وب asp.net به منظور ذخیره سازی عملیات postback مورداستفاده قرار می گیرد تا در دفعات بعدی نیازی به وارد کردن مجدد این اطلاعات نباشد.

به عنوان مثال فرض کنید فرمی را پر و سپس ارسال می کنید و سرور خطایی مبنی بر وجود اطلاعات غلط را باز می گرداند. بنابراین بایستی سایر اطلاعات را اصلاح و مجدد وارد کنید. در این حالت می توان گفت که سایت شما از  viewstat استفاده نکرده است. اما با فعال بودن viewstat اطلاعات فرم هنگام تحویل به سرور پاک نخواهند شد. در واقع view stat اطلاعات ارسالی کاربر به سرور را نگهداری می کند. درصورتیکه راهنمای <%@ Page EnableViewState=”false” %>  دارای مقدار false باشد view stat غیرفعال و اگر true باشد فعال خواهد بود.

کار اصلی ماژول MachineKey تولید کلیدهای تصادفی برای اعتبار سنجی ، رمزگذاری /رمزگشایی viewstate است .

viewstate  مفهومی در برنامه های ASP.NET برای حفظ وضعیت کنترل های صفحه در هنگام PostBack هست.

صفات  MachineKey به شکل کلید های  زیر می باشند که نمونه ای از تعریف آن در ادامه ی مقاله قابل مشاهده می باشد. این کلیدها در تگ MachineKey موجود در فایل web.config قرار داده می شوند.

برای درک بهتر کلید های MachineKey ابتدا باید با مفهوم  MAC (Message Authentication Check) آشنا شویم :

MAC قابلیتی از  asp.net است که تنظیمات یک فرم یا اطلاعات وارد شده در آن (یا همان view state)را تحلیل کرده تا از صحت آنها مطمئن شود و  از دستکاری شدنشان هنگام بازگشت از سرور جلوگیری به عمل آید.

کلید Validation :این کلید کد پیام  MAC را تحلیل کرده تا از جامعیت و درستی داده ها اطمینان حاصل کند.

کلید Decryption :از آن برای رمزگذاری و رمزگشایی داده های فرم ها و viewstate ها استفاده می شود.

خاصیت این کلید رمزگذاری  تنظمیات سرویس هایی مانند viewstate ، هویت سنجی اطلاعات وارد شده در فرم ها ، اعضا و role آنها و شناسایی افراد ناشناس می باشد.

همچنین کلیه viewstate ها در صفحه به صورت رمز شده ذخیره می شوند و هر برنامه دات نت در ابتدای اجرا یک کلید برای رمز کردن و رمزگشایی viewstate ها به صورت تصادفی ایجاد می کند.

می توان گفت Machine key یک کلید رمزگشایی ۲۵۶ بیتی و همچنین یک کلید اعتبار سنجی ۵۱۲ بیتی تولید می نماید که به رشته ای از کاراکترهای هگزادسیمال تبدیل می شوند.

نحوه ساخت Machine Key :

برای تولید Machine Key مانند دستورالعمل زیر عمل نمایید:

ابتدا وارد سایت http://www.allkeysgenerator.com شوید تب "Machine Key" را انتخاب کنید

Online Machine Key Generator

منبع

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)