PDA

View Full Version : ایمن کردن کدهای publish شده از کپی برداری و اجرا در چند server



ali_mnkt
سه شنبه 17 دی 1392, 19:28 عصر
سلام

من برنامه تحت وبی طراحی کردم که باید در داخل شرکتی روی server نصب و استفاده بشه . من به سرور دسترسی ندارم و فقط باید publish رو بدم .

خوب چه راهی هست تا مطمئن بشم این publish فقط روی یک سرور اجرا میشه ؟ آخه هرکی که به سرور دسترسی داره می تونه کدهای publish شده رو برداره ، پایگاه داده رو هم که داره میتونه در n جای دیگه هم ازش استفاده کنه

خلاصه این که چطور می شه کاری کرد که یک نسخه publish فقط روی یک سرور اجرا بشه ؟ البته شاید بعضی ها بگن خوب IP سرور رو یک جوری در کدها hardcode کن !!!! خوب اگه این کار رو بکنیم server دیگری در جایی دیگر هم باز می تونه همون IP روش set شده باشه پس باز فایده ای نداره

ali_mnkt
سه شنبه 17 دی 1392, 22:44 عصر
کسی نمی تونه کمک کنه ؟

ali_mnkt
چهارشنبه 18 دی 1392, 23:20 عصر
یعنی کسی توانایی کمک کردن رو نداره ؟

alibabaei2
پنج شنبه 19 دی 1392, 10:44 صبح
چیزی که به ذهنم میرسه اینه که تو متد application_Start در فایل Global یک مقداری رو از کاربر بگیرید و چک کنید که اون مقدار با مقدار مورد نظر شما برابر است یا نه بعدش برنامه شروع به کار کنه

Kamarian.Reza
پنج شنبه 19 دی 1392, 10:54 صبح
دوست عزیز، راه حل های زیادی وجود داره که می بایست با توجه به محدوده دسترسی شما به سرور خریدار و همچنین نوع پروژه خودتون، یکی از اونها رو انتخاب کنید.

1- استفاده از قفل سخت افزاری
2- استفاده از Domain Name ، Server Name ، IP Address و یا هرچیز منحصر به فردی از سرور کارفرما، جهت ساخت کلید نرم افزاری
3- استفاده از وب سرویس در صورت امکان اتصال به اینترنت
و ... .

moslem.hady
پنج شنبه 19 دی 1392, 15:26 عصر
من یه بار یه کد رو برای یه چیز دیگه استفاده کردم که بعد فهمیدم باعث میشه سایت فقط روی دامینی که مشخص شد کار کنه:
توی Global.asax
protected void Application_BeginRequest(object sender, EventArgs e)
{
string url = Request.Url.ToString().ToLower();
if (url.Contains("site.com") || url.Contains("localhost"))
{
return;
}
else
{
Response.Redirect("error.aspx");
}
}

این url.Contains("localhost") برای اینه که روی لوکال هاست درست جواب بده
البته روی بعضی سرورها جواب نمیده!! فکر کنم روی سرورهایی که پلسک نصب داردن(احتمالا) یادم نی

saeideh_sadat
جمعه 20 دی 1392, 01:14 صبح
برای شما قفل سخت افزاری خیلی خوب جواب میده یکسری اطلاعات به همراه رمز در آن میریزی و در نتیجه فقط شما قادر به خواندن آن هستی و کسی دیگر قادر به استفاده از آن نخواهد بود و در آن واحد فقط یک کامپیوتر می تواند از آن نسخه استفاده کند