سلام ، وقت بخیر
امکان دسترسی به سورس پروژه از طریق فایلهای پابلیش شده وجود داره ؟
برای حفظ امنیت سورس چه نرم افزاری رو پیشنهاد میدین ؟
سلام. خیر
سلام دوست عزیز
بله، اگه کسی به فایل های DLL پروژه شما دسترسی داشته باشه سورس کاملا قابل برگشت هست.
ابزارهای زیادی هم برای کد و هم دیکد کردن وجود داره مثل :
JetBrains.dotPeek
SmartAssembly
Red.Gate.NET.Reflector
Crypto Obfuscator For .Net
و ...
اما متاسفانه 2 تا مشکل بزرگ که درمورد این ابزارها وجود داره! اول این که 100 درصد تضمینی و قابل اعتماد نیستن وهرکاری کنید و با هر ابزاری که پروژه رو کد کنید بازم یه ابزاری پیدا میشه کدهای شمارو برگردونه ! دوم اینکه گاهی اوقات سرعت برنامتون رو بصورت قابل توجهی پایین میارن
البته این مشکلات رو پروژه هایی که با .NetCore نوشته شدن به میزان قابل توجهی پایین تر هست !
امیدوارم مفید بوده باشه
موفق باشید
سپاس از توضیحات بسیار کاملتون
علاوه بر کد کردن ، قصد دارم جهت افزایش امنیت، لایسنس نرم افزار رو با وب سرویس چک کنم
عملیات چک لایسنس میبایست در کدوم بخش از پروژه پیاده سازی بشه ؟
مثلا اکشن index یا بخش های دیگه ؟
خواهش میکنم
خیر، اکشن index گزینه مناسبی نیست چون تا زمانی که کاربر اون اکشن رو کال نکنه شما نمیتونید موردی که مد نظرتون هست رو بررسی کنید
برای اینکار راه های متفاوتی وجود داره اما بهترین راه حلی که میتونم بهتون پیشنهاد بدم اینه که توی کنترلر Base خودتون ( که اگر ندارید باید بسازید و همه کنترلر ها ازش ارث بری کنن) متد OnActionExecuting رو override کنید و کدهای بررسی لایسنس رو اونجا قرار بدید (اینطوری به ازای هر بار کال کردن یه اکشن، کدهای شما اجرا میشن و کاربر هیچ راهی برای دور زدن نداره) و یا اگه میخواید یه بخش هایی رو فقط محدود به لایسنس کنید میتونید بجای روش قبل که خدمتتون عرض کردم یه Attribute بسازید و بالای کنترلرهایی که نیاز به لایسنس دارن ازش استفاده کنید، اینطوری هرزمان اکشن هایی که توی اون کنترلر هستن صدا زده بشن لایسنس بررسی میشه
این هم نحوه استفاده از OnActionExecuting در روش اول :
public class BaseController : Controller
{
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
base.OnActionExecuting(filterContext);
// کدهای بررسی لایسنس
}
}سپاس فراوان
خواهش میکنم
موفق باشید