نوشتن کد ایمن با استفاده از #C
1398/01/05 15:09 , میلاد صاحب نظر

نوشتن کد ایمن با استفاده از #C

نوشتن کد ایمن بخش مهمی از توسعه نرم‌افزار است. NET. یک مکانیزم امنیت دسترسی به کد فراهم می‌کند که وظیفه آن پذیرش / رد دسترسی به منابع درون یک فراخوانی متد است. در این پست ما نحوه نوشتن کد ایمن در #C و NET. را توضیح می‌دهیم.

کد متحرک (که از منابع مختلفی مانند ایمیل، مستندات و کدهای دانلود شده از اینترنت به دست می‌آیند) دلیل اصلی آسیب رسیدن، نابود شدن یا کپی شدن داده‌های خصوصی است.

بنابراین برای کمک به محافظت از سیستم‌های رایانه در برابر کدهای متحرک خطرناک و به منظور ایجاد روشی برای اجرای ایمن و بی‌خطر کد متحرک، NET Framework. یک مکانیزم ایمنی به نام امنیت دسترسی به کد (code access security) فراهم کرده است.

امنیت دسترسی به کد مکانیزمی است که برای حفاظت از منابع و عملیات، دسترسی به کد را کنترل می‌کند.

در NET Feramework.، این مکانیزم به انجام اموراتی همچون تعریف دسترسی و مجوز، ایجاد امکان تنظیم سیاست امنیتی برای مدیران، فراهم کردن امکان اینکه کد بتواند مجوزهای مورد نیازش را برای اجرا شدن درخواست کند، اعطای مجوزها به هر assembly که بارگذاری یا لود می‌شود(بر اساس مجوزهای درخواست شده توسط کد) و ایجاد این امکان که کد بتواند درخواست کند که فراخوانندگانش مجوزهای خاصی داشته باشند، می‌پردازد.

امنیت دسترسی به کد، مکانیزمی است که دسترسی به منابع درون یک فراخوانی متد را پذیرش / رد می‌کند.

برای مثال، کد نوشته شده توسط یک فرد، ممکن است اجازه نوشته شدن روی دیسک را داشته باشد، در حالی که کد شخص دیگر ممکن است اجازه دسترسی به دیسک نداشته باشد. حتی اگر کد هر دو شخص درون یک برنامه نوشته شده باشد، باز هم می‌توان این کنترل را اعمال کرد.

System.Security Namespace ساختار اصلی و پایه سیستم امنیتی NET Framework. (از جمله واسط‌ها، اتریبیوت‌ها، خطاها یا Exceptionها و کلاس‌های پایه) برای مجوزها را فراهم کرده و کلاس مجوز CodeAccess ساختار اصلی و پایه همه مجوزهای دسترسی به کد را تعریف می‌کند.

اجازه دهید یک برنامه نمونه را که سعی می‌کند به یک فایل دیسک و یک متغیر محیطی دسترسی یابد را بررسی کنیم.

کد زیر مجوزی برای دسترسی به محیط temp ایجاد کرده و دسترسی کامل به SomeFile اعطا می‌کند. همه فایل‌ها پیش از اینکه تغییر کنند، یک تنظیم مجوز پیش‌فرض خواهند داشت.

کلاس PermissionSet (موجود در System.Security) نشان دهنده یک مجموعه است و حاوی انواع بسیار مختلفی از مجوزها می‌باشد و از متدهایی که از آن مجوزها استفاده و آن‌ها را اصلاح می‌کنند نیز پشتیبانی می‌کند. می‌توانیم از این کلاس برای افزودن، حذف، اختصاص، رد و کپی مجوز استفاده کنیم.

متد Deny فراخوانندگان را از دسترسی به منابع حفاظت شده منع می‌کند، حتی اگر آن‌ها اجازه دسترسی به این منابع را داشته باشند. PermitOnly اطمینان حاصل می‌کند که فقط منابع مشخص شده توسط این شیء مجوز قابل دسترسی باشند، حتی اگر کد اجازه دسترسی به منابع دیگر را اعطا کرده باشد.

کلاس EnvironmentPermission قابلیت این را دارد که متغیرهای سیستم و محیط کاربر را مقداردهی کرده و اصلاح کند.

نتیجه

مشاهده کردیم که یک کد ایمن با استفاده از NET SDK. دارای دسترسی عمومی، چگونه نوشته می‌شود. اگرچه چیزی که در این پست به شما نشان داده شد خیلی ساده بود، اما در عمل شما می‌توانید حتی مجوز دسترسی کد مخصوص به خودتان و ویژگی‌های امنیتی خیلی پیشرفته‌تری را در کد خود بنویسید.

منبع: c-sharpcorner

 مطالب مرتبط

توصیه‌هایی کاربردی برای امنیت وای-فای شما
چرا امنیت سایبری مهم‌تر از همیشه است؟
چگونه مرورگر شما، گزارشی از امنیت شما در فضای وب ارائه می‌کند؟
بهترین راه‌حل‌ها برای امنیت سایبری شرکت‌ها
قرار دادن کنترل امنیت داده‌ها در دستان کاربران
برنامه نویسی شیءگرا چیست؟

از آخرین دوره های آموزشی و تخفیف ها مطلع شوید

با تکمیل فرم زیر ، از اخبار و اطلاعات به روز برنامه نویسی و تکنولوژی عقب نمانید

آخرین مطالب

آموزش جامع SQL Server (جلسه ۱۲)
آموزش جامع SQL Server (جلسه ۱۲)

دستور UPDATE در SQL Server برای تغییر داده‌های موجود در یک جدول، از دستور UPDATE به شکل زیر استفاده ...

آموزش جامع SQL Server (جلسه ۱۵)
آموزش جامع SQL Server (جلسه ۱۵)

دستور DROP TABLE در SQL Server گاهی، لازم است یک جدول که دیگر استفاده‌ای ندارد را حذف کنید. برای ...

آموزش جامع SQL Server (جلسه ۳۵: Window Functionها – بخش ۲)
آموزش جامع SQL Server (جلسه ۳۵: Window Functionها – بخش ۲)

بخش اول از آخرین مبحث دوره جامع آموزش SQL Server در جلسه قبلی بررسی شد. این مبحث که ...

آخرین دیدگاه ها

دیدگاه خود را درباره این پست بنویسید

فرم ارسال نظرات