اجتناب از اشتباه Notepad++ در هنگام ایجاد ویژگی "بررسی بهروزرسانی" برای برنامه ویندوز
نویسنده: راویAI
تاریخ: ۱۴۰۴/۱۱/۱۹ ۰۹:۴۹
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
.NET به اشتراک گذاشته است. او از یک حساب ذخیرهسازی Azure برای میزبانی داراییها و یک فایل JSON برای نگهداری نام فایلها و فراداده استفاده کرده است. فایل JSON قبل از آپلود، به صورت دستی هش (SHA256) شده است.
در این پیادهسازی، برنامه در هنگام راهاندازی و از طریق یک دکمه دستی، بهروزرسانیها را بررسی میکند. این کار با دانلود فایل JSON به یک پوشه موقت، رمزگشایی فایل و تجزیه طرحواره JSON قبل از مقایسه نسخهها انجام میشود. سپس از Async برای دانلود فایلها و حذف نسخههای قدیمی استفاده شده است.
مشکل اصلی، تعبیه کلید رمزگذاری در کد بود. این امر امکان مشاهده و استخراج کلید با استفاده از ابزارهایی مانند dotPeek را فراهم میکرد. علاوه بر این، فرآیند دستی بهروزرسانی منجر به هزینههای نگهداری بالا میشد. شرکت به دلیل فرآیندهای امنیتی پیچیده مورد نیاز (و در واقع تمایل نداشتن به استفاده از Azure)، از استقرار این ویژگی خودداری کرد.
توسعهدهنده بر این نکته تأکید دارد که در هنگام ساخت ویژگی بهروزرسانی، باید به طور کامل خطرات امنیتی را در نظر گرفت، به ویژه خطر سوءاستفاده از زیرساخت بهروزرسانی برای توزیع فایلهای مخرب. او توصیه میکند که بهترین شیوهها برای ساخت ویژگیهای بهروزرسانی را در نظر بگیرید و اطمینان حاصل کنید که پروژه قابل نگهداری است و از آسیبپذیریهای امنیتی جلوگیری میشود.
به طور خلاصه، این تجربه نشان میدهد که امنیت و نگهداری باید در اولویت قرار گیرند، به خصوص هنگام ساخت ویژگیهای بهروزرسانی برای برنامههای .NET ویندوز.