• 1400/05/16

امنیت سورس :

سلام ، وقت بخیر

امکان دسترسی به سورس پروژه از طریق  فایلهای  پابلیش شده  وجود داره ؟

برای حفظ امنیت سورس چه نرم افزاری رو پیشنهاد میدین ؟

 

 

  • 1400/05/17
  • ساعت 00:22

سلام. خیر


  • 1400/05/17
  • ساعت 08:14

سلام دوست عزیز

بله، اگه کسی به فایل های DLL پروژه شما دسترسی داشته باشه سورس کاملا قابل برگشت هست.

ابزارهای زیادی هم برای کد و هم دیکد کردن وجود داره مثل :

JetBrains.dotPeek

SmartAssembly

Red.Gate.NET.Reflector

Crypto Obfuscator For .Net

و ...

اما متاسفانه 2 تا مشکل بزرگ که درمورد این ابزارها وجود داره! اول این که 100 درصد تضمینی و قابل اعتماد نیستن وهرکاری کنید و با هر ابزاری که پروژه رو کد کنید بازم یه ابزاری پیدا میشه کدهای شمارو برگردونه ! دوم اینکه گاهی اوقات سرعت برنامتون رو بصورت قابل توجهی پایین میارن

البته این مشکلات رو پروژه هایی که با .NetCore نوشته شدن به میزان قابل توجهی پایین تر هست !

امیدوارم مفید بوده باشه

موفق باشید


  • 1400/05/17
  • ساعت 22:59

سپاس از توضیحات بسیار کاملتون


  • 1400/05/17
  • ساعت 23:11

علاوه بر کد کردن ، قصد دارم جهت افزایش امنیت، لایسنس نرم افزار رو با  وب سرویس چک کنم

عملیات چک لایسنس میبایست در کدوم بخش از پروژه پیاده سازی بشه ؟

مثلا اکشن index  یا بخش های دیگه ؟


  • 1400/05/18
  • ساعت 09:37

خواهش میکنم

خیر، اکشن index گزینه مناسبی نیست چون تا زمانی که کاربر اون اکشن رو کال نکنه شما نمیتونید موردی که مد نظرتون هست رو بررسی کنید

برای اینکار راه های متفاوتی وجود داره اما بهترین راه حلی که میتونم بهتون پیشنهاد بدم اینه که توی کنترلر Base خودتون ( که اگر ندارید باید بسازید و همه کنترلر ها ازش ارث بری کنن) متد OnActionExecuting رو override کنید و کدهای بررسی لایسنس رو اونجا قرار بدید (اینطوری به ازای هر بار کال کردن یه اکشن، کدهای شما اجرا میشن و کاربر هیچ راهی برای دور زدن نداره) و یا اگه میخواید یه بخش هایی رو فقط محدود به لایسنس کنید میتونید بجای روش قبل که خدمتتون عرض کردم یه Attribute بسازید و بالای کنترلرهایی که نیاز به لایسنس دارن ازش استفاده کنید، اینطوری هرزمان اکشن هایی که توی اون کنترلر هستن صدا زده بشن لایسنس بررسی میشه

این هم نحوه استفاده از OnActionExecuting  در روش اول :

public class BaseController : Controller
    {


        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            base.OnActionExecuting(filterContext);
            // کدهای بررسی لایسنس
        }

    }

  • 1400/05/18
  • ساعت 09:51

سپاس فراوان 


  • 1400/05/18
  • ساعت 13:42

خواهش میکنم

موفق باشید