PDA

View Full Version : قفل گذاری روی Web Application



m_nejad
چهارشنبه 23 شهریور 1384, 11:47 صبح
روش قفل گذاری روی نرم افزاری که با asp.net2005 نوشته شده و روی سرور مشتری قرار می گیره چیه؟

H_Ghaffarian
پنج شنبه 24 شهریور 1384, 10:29 صبح
سلام
روش معمول اینکه یک شماره سریال از یک جزء سخت افزاری سیستم هدف رو بدست می آورند (مثل شماره سریال هارد دیسک)و بعد اون رو با توابع دلخواه تغییر می دن . این شماره سریال می تونه در یک برنامه دیگر تبدیل به شماره سریال جدیدی بشه و به برنامه هدف داده بشه. در برنامه هدف دقیقاً همون کد برنامه دوم پیاده می شه تا شماره جدید رو خودش هم محاسبه کنه. حالا شماره ورودی کاربر باید با این شماره مطابقت پیدا بکنه.

am12622
یک شنبه 27 شهریور 1384, 07:55 صبح
من نفهمیدم . بیشتر میشه توضیح بدین :(

PalizeSoftware
یک شنبه 27 شهریور 1384, 08:10 صبح
ببینید دوست عزیز
به برخی قطعات سخت‌افزاری مانند CPU و Hard توسط سازنده یه شماره سریال واحدی تعلق می‌گیره. پروسه شما باید در ابتدا این شماره سریال رو از روی رایانه کاربر بدست بیاره و اون رو به کدی تبدیل کنید که کاربر متوجه نشه سریال چی هست. بعد کاربر این شماره رو به شما تحویل می‌ده. شما هم با الگوریتم ساده‌ای شماره رو به کد دیگری تبدیل می‌کنید و به کاربر ارائه می‌ده. برنامه شما روش تبدیل رو توی دل خودش داره. حالا کد جدید رو طبق الگوریتمی که تعیین کردید بررسی می‌کنید و از صحت و درستی‌اش که مطمئن شدید برنامه رو اجرا می‌کنید و الا به کاربر اعلام می‌کنید که حق استفاده از نرم‌افزار رو نداره.
حالا باز هم مشکلی هست؟
موفق باشید.

مهدی کرامتی
یک شنبه 27 شهریور 1384, 16:03 عصر
روش هایی که دوستان فرمودند در مورد WinForms Applications کاربرد داره، اما در مورد Web Forms Applications نه.

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

m_nejad
دوشنبه 28 شهریور 1384, 11:44 صبح
ممنون از پاسخها

am12622
جمعه 01 مهر 1384, 07:06 صبح
منم ممنونم . فقط یه سئوال :
آیا فقط همین روشها وجود داره ؟ ( هم برای WEB App. و هم برای WIN App. )
آیا راه حل دیگری هم متصور هست ؟

ealireza
جمعه 01 مهر 1384, 13:55 عصر
IP و بهترین و مهمترین راه شناسایی MacID که Network کارت سرور داره ..
بسیار ساده و خیلی مهم

مهدی کرامتی
شنبه 02 مهر 1384, 12:02 عصر
بهترین و مهمترین راه شناسایی MacID که Network کارت سرور داره
در ASP.NET مجوز دسترسی به اطلاعات سخت افزار وجود ندارد.

ealireza
شنبه 02 مهر 1384, 12:36 عصر
چرا برای MacID وجود داره ... !
شخصا استفاده کردم ...

Behrouz_Rad
شنبه 02 مهر 1384, 17:09 عصر
با عرض احترام خدمت جناب ealireza و ضمن تایید فرمایشات جناب کرامتی!
به استحضار می رساند: دسترسی به اطلاعات سخت افزاری سیستم سرور، امکان پذیر نیست.
احتمالا ادمین سرور شما در تعیین سطح دسترسی پروسه های سیستم کوتاهی کرده.

ealireza
یک شنبه 03 مهر 1384, 00:03 صبح
کاملا حرف شما درست است
اما در برنامه های Enterprise که مدیر سرور مجبور به نصب اون باشه از جمله Control Panel و... مجبور به Install کردن یک نرم افزار میشود که در این هنگام میتوان در نصاب یک DLL را رجیستر کرد و بصورت کامپوننت در برنامه صداش زد ...

این کار را قبلا در ASP3 انجام داده بودم و یک برنامه Monitoring بود ..

مهدی کرامتی
یک شنبه 03 مهر 1384, 00:42 صبح
احتمالا ادمین سرور شما در تعیین سطح دسترسی پروسه های سیستم کوتاهی کرده
در سیستم های سرور لزومی نداره یک کاربر به پروسه های سیستمی دسترسی داشته باشه (به دلیل مسائل امنیتی)، دیگه چه برسه به این که سرور فوق یک وب سرور باشه. تصور کن هر کاربری مجاز به اجرای پروسه های سیستمی روی سرور باشه، اون موقع حتما میتونی حدس بزنی چه اتفاقاتی ممکنه بیافته.

مجوزهای دسترسی به پروسه های سیستمی بطور پیش فرض در سرورها برای کاربران غیر مدیر سیستم مسدود است، و هیچ مدیر سروری هم چنین دسترسی ای در اختیار شما نخواهد گذاشت (مگر اینکه مغزش باگ داشته باشه).

Behrouz_Rad
یک شنبه 03 مهر 1384, 07:56 صبح
کاملا حرف شما درست است
اما در برنامه های Enterprise که مدیر سرور مجبور به نصب اون باشه از جمله Control Panel و... مجبور به Install کردن یک نرم افزار میشود که در این هنگام میتوان در نصاب یک DLL را رجیستر کرد و بصورت کامپوننت در برنامه صداش زد ...

این کار را قبلا در ASP3 انجام داده بودم و یک برنامه Monitoring بود ..
کامپوننت رو میشه به صورت مجزا هم نصب کرد و لزومی به نصب اون همراه با برنامه نصب نیست!
در ضمن، مسلما تنها ادمین سیستم از نصب کامپوننت مطلع است و این مورد رو در لیست خدمات ارائه دهنده ی سرور ذکر می کنه.
مثل:


RicherComponents
- RichHelpTip
- RichSlider
- RichTextBox
- RichDatePicker

Office Web Components

IE Web Controls
- IE Tabstrip
- IE TreeView
- IE MultiPage
- IE Toolbar

Behrouz_Rad
یک شنبه 03 مهر 1384, 08:49 صبح
مجوزهای دسترسی به پروسه های سیستمی بطور پیش فرض در سرورها برای کاربران غیر مدیر سیستم مسدود است، و هیچ مدیر سروری هم چنین دسترسی ای در اختیار شما نخواهد گذاشت (مگر اینکه مغزش باگ داشته باشه).
برنامه هایی که با دیتابیس SQL Server سر و کار دارند، از پروسه ی سیستمی sqlservr.exe به منظور ارتباط با SQL Server استفاده می کنند.
در صورتی که حرف فوق صحیح باشه، این برنامه ها در عملکرد خود دچار مشکل خواهند شد.
?any idea

el_abdollahi
سه شنبه 29 آبان 1386, 13:02 عصر
توی پست شماره 10 , علیرضا خان عنوان کردن که تونستن MacID سرور رو بگیرن .
لطفا یکی بگه چه جوری میشه این کار رو کرد ؟

Behrouz_Rad
سه شنبه 29 آبان 1386, 13:10 عصر
توی پست شماره 10 , علیرضا خان عنوان کردن که تونستن MacID سرور رو بگیرن .
لطفا یکی بگه چه جوری میشه این کار رو کرد ؟
ایشون همه کاره ی میهن بلاگ هستند و از سرور اختصاصی استفاده می کنند ;)

el_abdollahi
سه شنبه 29 آبان 1386, 13:35 عصر
ببینید قضیه من اینه که پروژه ام روی شبکه محلی است و کاربرانی به سرور دسترسی دارند . می خوام کاری کنم که کسی نتونه پروژه رو به جای دیگه ای ببره .
لطفا راهنمایی کنین .
با تشکر
عبداللهی

hamedgh
سه شنبه 29 آبان 1386, 13:58 عصر
اگر نحوه قفل گذاری روی سایت هم بگویید ممنون می شوم
نحوه کار را فهمیدم ولی نوشتن ان را نمی دانم
من حتی می خواستم تاریخ اعتبار بگذارم که دیگر اجرا نشود
اگر در این مورد هم مطلبی دارین بفرمایید

Behrouz_Rad
سه شنبه 29 آبان 1386, 15:40 عصر
ببینید قضیه من اینه که پروژه ام روی شبکه محلی است و کاربرانی به سرور دسترسی دارند . می خوام کاری کنم که کسی نتونه پروژه رو به جای دیگه ای ببره .
لطفا راهنمایی کنین .
با تشکر
عبداللهی
1) منظورت از جای دیگه کجاست؟
2) آیا دسترس کامل به سرور داری؟
3) آیامنظورت از بردن پروژه، انتقال فایل های سورس هست یا DLL های از کامپایل؟

el_abdollahi
سه شنبه 29 آبان 1386, 15:47 عصر
1)روی یه سیستم دیگه. هر جا
2)میشه گفت بله
3)حالا اگر دوتاش رو بشه محافظت کرد که خیلی خوبه .

Behrouz_Rad
سه شنبه 29 آبان 1386, 15:54 عصر
شما اگه دسترسی کامل به سرور داری که خدا داده در این فروم 1000 تا تاپیک در مورد گرفتن مشخصات سخت افزاری و ایجاد قفل برای نرم افزار!

el_abdollahi
سه شنبه 29 آبان 1386, 16:07 عصر
نه نه , اینجوریا هم نیست . فکر نکنم اینقدرها هم دستم باز باشه. بازم اگر میشه من که هر چی جستجو کردم چیز زیادی پیدا نکردم. شما یه کمکی بکنید . یه مقدار بیشتر توضیح بدین . همه جا نوشته که نمیشه مشخصات سخت افزاری سرور رو با asp.net گرفت . البته اگه درست یادم باشه تو vb یه نیم اسپیس هست ولی تو asp که نیست .کمک کنید .اجرتون با امام رضا.

Behrouz_Rad
سه شنبه 29 آبان 1386, 16:22 عصر
تا در مورد سطح دسترسیت به سرور و محدودیت هات چیزی نگی، نمی تونم کمکی بهت کنم و تنها تاپیک بی جهت ادامه پیدا می کنه.
یکی از راه های تشخیص مشخصات سخت افزاری، WMI هست.

همه جا نوشته که نمیشه مشخصات سخت افزاری سرور رو با asp.net گرفت .
معمولا چیزی که عمومیت زیادی داره رو به صورت یک جمله ی عمومی میشنوی.
نه اینکه امکان پذیر نباشه اما از اونجایی که در اکثر قریب به اتفاق موارد ملت از Shared Server استفاده می کنند، گفته میشه که امکان پذیر نیست...

موفق باشید.

el_abdollahi
چهارشنبه 30 آبان 1386, 00:44 صبح
من هر چی اینجا دنبال WMI گشتم که چیزی پیدا نکردم . آیا یه برنامه کمکی هست که باید روی سرور نصب کنم ؟

Behrouz_Rad
چهارشنبه 30 آبان 1386, 10:49 صبح
یکی از نکاتی که دوستان در مورد سیستم جستجوی سایت در مورد اون اطلاعی ندارن، استفاده از عملگرهای منطقی و Wild Character هاست.
من عبارت *wmi* رو وارد کردم و لیستی از تاپیک های مرتبط رو دیدم. شما هم همین کار رو بکن.
دو نمونه:
http://barnamenevis.org/forum/showthread.php?t=45894
http://barnamenevis.org/forum/showthread.php?t=3122

موفق باشید.

mahdi_farhani
چهارشنبه 30 آبان 1386, 20:30 عصر
سلام ، من یک Web application دارم مینویسم ، حالا می خواهم براش قفل بزارم .
1 ) برنامه میتونه فقط و فقط روی یک سیستم اونم به صورت Local اجرا بشه .
2 ) میتونه روی Lan اجرا بشه
3) میتونه روی اینترنت باشه
(اینها که واضح هستند که همه Web Application ها این خاصیتو دارند)
حالا این نرم افزار به صورت انبوه تولیده میشه ، به مشتری اونو میخره ، مشتری باید بیاد داخل سایت من و نرم افزار رو رجیستر کنه (یا با تلفن) .
1 ) آیا من میتونم به اطلاعات سخت افزاری مشتری پس از نصب نرم افزار روی سیستم داشته باشم یا نه (یا باید یه win application کنارش بزارم که برام این کارو بکنه )
2) به فرضی که من شماره سریال رو تولید کردم (بر اساس مشخصات سخت افزاری ) حالا کجای برنامه باید چک کنم ؟؟؟ ورود به برنامه ، کل صفحات ، توی هر Request
3 ) آیا میتونم از قفل های سخت افزاری استفاده کنم .
4 ) در صورت مثبت بودن سوال 3 قفل نرم افزاری بهتره یا سخت افزاری .
ممنون

Behrouz_Rad
چهارشنبه 30 آبان 1386, 23:18 عصر
برای Internet:
یک وب سرویس ایجاد کن تا در بازه های زمانی مشخصی برنامه با اون ارتباط برقرار کنه و صحت معتبر بودن وب سایت رو بررسی کنه.

برای LAN:
شاید وجود یک Win App و تولید کد بر مبنای مشخصات سخت افزاری و تماس با شما و دریافت کد فعال سازی گزینه ی مناسبی باشه.

موفق باشید.

mehrdad201
پنج شنبه 01 آذر 1386, 01:11 صبح
حق با آقای راد هست.
من سایتهایی رو دیدم که علاوه بر چک کردن دومین از وب سرویس هم استفاده می کنن.

روش کار هم فکر می کنم به این صورته که برنامه کلاینت از طریق وب سرویس با وب سایت شما ارتباط برقرار می کنه و وب سرویس شماست معلوم می کنه آیا این وب سایت لایسنس داره یا خیر.....

همچنین روش اولی هم که آقای راد هم گفتند راه بسیار خوبیه...

=========================================
پ.ن: (بالاخره این سایت در ISP ما بالا اومد)

Aidin
جمعه 04 بهمن 1387, 00:12 صبح
سلام

اگه شرکتی رو میشناسین که قفل سخت افزاری برای Web Application روی LAN (تا حدودی دسترسی به سرور میشه داشت) ارائه میکنه معرفی کنید.

ممنون

shahab_ksh
جمعه 04 بهمن 1387, 00:44 صبح
دوستان حالا چرا گیر دادین به قفل سخت افزاری به مشکلاتش هم فکر کردین؟

فرض کنید شما به شماره سریال هارد هم دسترسی پیدا کردید و کلی سرمایه گزاری رو این قضیه کردید و همه چی خوب داره پیش میره ! ولی یه لحظه دیدید هارد سرور سوخت ! اطلاعات روی یه سرور دیگه ای روی شبکه به طور خودکار منتقل شد اون وقت همه برنامه هاتون به هم می خوره (البته یادمه دوران Dos شماره سریال هارد رو عوض می کردم حالا رو نمیدونم آیا Readonly شده یانه به هر حال کسی برای شما این کارو نمیکنه)

به نظرم راه حل خوب اینه ؟
1- از نظر قانونی برنامه تون رو ثبت قانونی کنید که حداقل در داخل جلوی سوء استفاده رو بگیرید
2- برنامتون از طریق وب سرویس بصورت دوره ای دامنه مورد استفاده رو برای شما بفرسته که کنترل کنید
3- در جاهای حساسی در کنترل پنل برنامه تون به وسیله وب سرویس مجوز رو تست کنه
4- که از همش مهمتره حفاظت از DLL های برنامه برای جلوگیری از Crack

تا همکاران دیگه چه نظاراتی داشته باشند ...

Aidin
جمعه 04 بهمن 1387, 00:49 صبح
هم ثبت نرم افزاری و هم به عنوان اختراع ثبت شده ولی در هر حال اینجا ایرانه ...

تاکید روی قفل سخت افزاری برای اینه که بیشتر از نظر روانی روی مشتری تاثیر میزاره .

Aidin
یک شنبه 06 بهمن 1387, 00:04 صبح
یعنی هیچ کسی تا حالا رو Web Application قفل سخت افزاری نذاشته ؟!

Alireza_Salehi
یک شنبه 06 بهمن 1387, 09:14 صبح
استفاده از قفل سخت افزاری در WebApplication در صورتی که Dedicated Server داشته باشید یا سرور لوکال خیلی راحته، قفل رو به پورت USB سرور وصل می کنید با امکاناتی که شرکت فروشنده قفل ارائه کرده در روال Begin_Request یا Application_Start قفل رو از طریق وب سرویسی که جهت چک کردن قفل نوشتید چک می کنید.

در حالت Shared هم که اساتید فرمودند باید چی کار کنید.