تور لحظه آخری
امروز : یکشنبه ، 9 اردیبهشت 1403    احادیث و روایات:  پیامبر اکرم (ص):من ادب آموخته خدا هستم و على، ادب آموخته من است . پروردگارم مرا به سخاوت و نيكى...
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

بلومبارد

تبلیغات متنی

تریدینگ ویو

خرید اکانت اسپاتیفای

کاشت ابرو

لمینت دندان

ونداد کولر

لیست قیمت گوشی شیائومی

صرافی ارکی چنج

صرافی rkchange

دانلود سریال سووشون

دانلود فیلم

ناب مووی

تعمیر گیربکس اتوماتیک

دیزل ژنراتور موتور سازان

سرور اختصاصی ایران

سایت ایمالز

تور دبی

سایبان ماشین

جملات زیبا

دزدگیر منزل

ماربل شیت

تشریفات روناک

آموزش آرایشگری رایگان

طراحی سایت تهران سایت

آموزشگاه زبان

اجاره سند در شیراز

ترازوی آزمایشگاهی

رنگ استخری

فروش اقساطی کوییک

راهبند تبریز

ترازوی آزمایشگاهی

قطعات لیفتراک

وکیل تبریز

خرید اجاق گاز رومیزی

آموزش ارز دیجیتال در تهران

شاپیفای چیست

فروش اقساطی ایران خودرو

واردات از چین

قیمت نردبان تاشو

وکیل کرج

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

سیسمونی نوزاد

پراپ تریدینگ معتبر ایرانی

نهال گردو

صنعت نواز

پیچ و مهره

خرید اکانت اسپاتیفای

صنعت نواز

لوله پلی اتیلن

کرم ضد آفتاب لاکچری کوین SPF50

دانلود آهنگ

طراحی کاتالوگ فوری

واردات از چین

اجاره کولر

دفتر شکرگزاری

تسکین فوری درد بواسیر

دانلود کتاب صوتی

تعمیرات مک بوک

قیمت فرش

خرید سی پی ارزان

 






آمار وبسایت

 تعداد کل بازدیدها : 1798575772




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

مناسبترین روش برای قفل گذاری بر روی نرم افزار تحت وب -


واضح آرشیو وب فارسی:سایت ریسک: مناسبترین روش برای قفل گذاری بر روی نرم افزار تحت وب m1pfard 07 مهر 1388, 13:15سلام. بعد از هزار سال بالاخره برگشتم خدمتتون! اصل مطلب: میشه لطفا یه راهنمایی بفرمائید چطور میشه رو یه نرم افزار تحت وب قفل گذاشت؟ (سخت افزاری و یا نرم افزاری) یه برنامه که ممکنه رو وب (اینترنت) نصب بشه و یا می تونه لوکال (اینترانت) اجرا بشه. ممنانم!!! Arash_Niazmand 07 مهر 1388, 20:22دوست من بازگشت شما رو تبریک می گم. در پاسخ به سوال شما مجبور به توضیح کوتاهی می شو م. در برنامه های تحت وب به این صورت عمل میشه . Request فزستاده میشه و همه فرم شما در server ساخته میشه . چیزی که ما این ور به عنوان کلاینت می بینیم یک سری اسکریپت هست که حاصل اجرای فرم در server هست . یادمون باشه که مقدار کدی که به سمت کاربر فرستاده میشه دیگه ما از اون به بعد رو نمیتونیم کنترل کنیم . یعنی کاربر می تواند هر تغیری در اون لحاظ کنه . حالا سوال اینجا مطرح میشه که با وجود این همه تغیرات احتمالی پس امنیت تکلیفش چی میشه .: تمام اعتبار سنجی ها هم در کلاینت و هم در server باید چک بشه . خوب این همه صحبت برای اینکه به اینجا برسم . شما با تولید کد در کلاینت نمیتونید یک قفل رو چک کنید ... ( نه اینکه نشه حتا شما میتونید با سخت افزار خاصی ارتباط برقرار کنید ) چون احتمال هک آن وجود داره مثلا با firebug به راحتی میشه اسکریپت ارسالی به سمت server را تغیر داد . به نظر من میشه برای اینکه شما backdoor نداشته باشید از یک کانال مابین استفاده کنید . یعنی برنامه ایی بنویسید که روی کلاینت نصب میشه و 1 - تولید رشته رندم میکنه و از اون یک url میسازه و در server اعتبار سنجی میشه و اگر در رنج معتبر باشه صفحه نمایش داده میشه . مثال : 2- ورود به سیستم با رنج ip مشخص . 3 - اتصال به یک سخت افزار و برسی قفل . اینا چیزایی هست که الان به ذهنم رسید . ولی روش فکر میکنم . امیدوارم خسته کننده نشده باشه صحب های من . اگر سوالی بود در خدمتم . موفق و پیروز باشید . sepidweb 08 مهر 1388, 03:16برای یک نرم افزار تحت وب؟؟ می شه برای این کار اولا یک وب سرویس مثلا در سایت خودتون ایجاد کنید مخصوص این کار. بعد در نرم افزاری که نوشتید، هر بار که نرم افزار بالا میاد، یک بار این وب سرویس اجرا بشه، و بر اساس مقدار خاصی، مثلا IP بررسی بشه که نرم افزاری که در حال اجرا هست از شما خریداری شده هست یا نه. اگر نبود، نرم افزار load نشه. برای مشتریانی هم که نرم افزار شما رو خریداری می کنند هم این کار باید انجام بشه که نام دامنه سایت خودشون رو به شما بدن تا اون رو توی لیست سایت های مجاز قرار بدید، و از طریق اون IP سایت اونها تایید شده باشه. نکته ای هم که باید توجه کرد اینه که کد مربوط به این ماجرا به صورت کامپایل شده (مثلا یه DLL) به مشتری تحویل بشه که نتونه در اون تغییر ایجاد کنه. همچنین از Dotfuscator یا یه همچین چیزی استفاده کنید که کد داخل DLL هم قابل بازیابی و ساخت مجدد نباشه. m1pfard 08 مهر 1388, 10:50از هر دو عزیز خیلی خیلی و باز هم خیلی ممنون. ولی فرض کنید من یه نرم افزار دارم که این امکان رو به کاربر میده که هم رو وب (اینترنت) نصب بشه و / یا رو لوکال (یا یه سرور - شبکه داخلی) حالا اگه من برنامه رو (که با ASP.net هم هست و یک صفحه نصب هم داره) رو به صورت یه پک به مشتری تحویل بدم حالا اگه رو وب نصب کرد طبق راهنمایی شما یه جورایی میشه حلش کرد. ولی وقتی رو شبکه و لوکال باشه مشکل پیش میاد. چون ممکنه (که حتما) سی دی کپی میشه و به دوستان و آشنایان هدیه داده میشه!!! یه راه اینه که مک آدرس رو از روی سرور برداریم و فعال سازی از طریق خط تلفن انجام بشه و یا چندین راه دیگه که امیدوارم شما راهنماییم بکنید. ولی در کل به این نتیجه رسیدم که هنگام ارائه نرم افزار به مشتری باید نحوه استفاده اون هم مشخص بشه تا بشه در باره نوع قفل هم تصمیم گرفت. m1pfard 08 مهر 1388, 10:51انشام چطور بود حال کردین؟! دلم نیومد ویرایشش کنم تا شما هم یه خورده بخندید. شرمنده!!! sepidweb 08 مهر 1388, 11:03mac address روش خوبی نیست. چون برای virtual machine ها می شه هر mac address ای رو تعریف کرد! اونوقت اگر نرم افزار بیش از اندازه سنگین نباشه و بشه توی Virtual Machine اجراش کرد، با فعال کردن برای یک Mac Address تعریف شده، کارش تمومه. حتی احتمال می دم در لینوکس بشه Mac رو دستی تعریف کرد! اونوقت برنامه ت رو Mono بالا میاد! نمی دونم در این شرایط چه کاری می شه کرد. اما به نظر می رسه که local ها هم به هر حال معمولا به اینترنت دسترسی دارن. حداقل اینه که هر بار که خواستن application رو راه بندازن، لااقل یه مدت کوتاهی با اینترنت تلفنی وصل بشن، تا بالا بیاد و verify بشه، بعد قطع کنند تا دفعه بعدی که نیاز به restart پیش بیاد. انشات اونقدرها هم بد نبود واقعا! :wink: m1pfard 08 مهر 1388, 11:46ممنون از راهنماییتون ببینیم چی پیدا میکنم. Arash_Niazmand 08 مهر 1388, 12:09باز هم از اینکه دوستانی فعال در این بخش می بینم خوشحالم . در ابتدا بگم که مشکل نصب شدن روی وب حل شده است . من برای local هم یک پیش نهاد کوچیک دادم .... شما میتونید اگر به صورت انبوه نرم افزار رو تولید نمی کنید برای هر شرکت خریدار یک سریال و نام دامنه و سرور نصب شونده مشخص کنید . که در صورت کپی و هدیه دادن به دوستان نتوانند از آن استفاده کنند . چون اعتبار سنجی بر اساس نام شبکه و سرور تعیین میشه . اگر هم به صورت انبوه تولید میکنید ... میتونید یه فایل exe طراحی کنید که فایل aspx شما رو بسازه و اجرا کنه تحت مرورگر . حالا شاید بگید چرا فایل exe چون شما میتونید در ابتدا قفل سخت افزاری رو چک کنید و بعد هم با ساخت فایل aspx خود و اجرای آن در مرورگر برنامه کار میکنه . حالا بزارید در رابطه با فایل aspx ها بگم شما فقط یک صفحه خواهید داشت و مابقی به صورت user control که بعد از ساخت شما یک dll هستن کار خواهید کرد . پس اگر فایل exe اجرا نشه و فایل aspx ساخته و اجرا نشه و تمام اعتیار سنجی ها هم از طرف aspx سنجیده نشه برنامه شما اجرا ناپذیره . اگه تا اینجا سوالی هست بگید . موفق و پیروز باشید . m1pfard 09 مهر 1388, 09:02ممنون ولی یه سوال اگه از همون نام دامنه و سریال برای نصب بر روی سرور دوم استفاده کرد چی؟ یعنی دو سرور با نامهای یکسان! درمورد exe هم فکر نکنم بتونم عملیش کنم! چون همون طور که گفتم باید این امکان رو هم داشته باشه که رو وب کار کنه در ضمن برنامه هم تقریبا آماده شده. البته جسارت نشه برنامه ای که گفتم اونقدرا هم برنامه نیستا!!! فقط همینطوری به ذهنم اومد که جلوی سوء استفاده رو از همین الان بگیرم!!!!!!!!!! Arash_Niazmand 09 مهر 1388, 11:21در رابطه با نام سرور و دامنه باید بگم که این طور چک میشه که نام دامنه و کد محصول رو در یک usb قفل ذخیره میکنید . برنامه در صورتی که سرور قفلش باز بود کار خواهد کرد . در رابطه با exe ، باید بگم شما اگر برای برنامه فایل setup طراحی کرده باشید ، میتوانید دو وضیعت را به کاربر بدهید . نصب بر روی local یا وب . در این صورت میتونید فایل exe رو برای این برنامه بزارید . در ضمن دوست عزیز سیستم قفل گزاری و کد نویسی بر روی local فرق داره با وب پس نمیتونید یک تیپ خاص بنویسید و پاپلیش کنید . در رابطه با ساخت فایل exe که قرار بود یک aspx بسازه چند نکته هست که باید بگم . اگر می خوای قفل بزاری باید تنبلی رو بزاری کنار و خیلی از جاهای پروژه رو تغیر بدی . اگر مخوای همین طوری یک قفل بزاری بدون استانداردی که توضیح دادم پیش تر برای aspx می تونید فایل aspx رو باز کنید داخل آن یک سری string نوشته شده ... پس بهتر یک فایل بسازی که runTime اینا رو بنویسه و با پسونده aspx و aspx.cs ذخیره کنه . راستی اینکه کجا بریزه هم مهمه شما بصورت فیزیکی save نمی کنی بلکه یک سری متغییر پاس میدی که برای اجرا این متغییر ها لازم هست . بزار یک مثال بزنم . تا حالا شده یک کانکشن sql داشته باشی و نتونی بهش کانکت بشی ... حالا فکر کن مد دیباگ رو تو کنترل کنی و فایل تو هم به dll تبدیل شده باشه ... اگه کانکشن اشتباه باشه کاربر اگه خود کشی هم کنه نمیفهمه error برای چیه و نمی تونه تغیر بده ... و از همه این ها بگذریم باید ارزش برنامه ایی که ساختی رو بسنجی و بعد به همین مقدار شرو به قفل گذاری کنی . . باید ببینی آیا برنامه ارزش این رو داره که 72 ساعت یک اکیپ 5 نفره کار کنند تا این قفل رو بنویسی .. در هر صورت اگر سوالی هست من در خدمتم . MDP 10 مهر 1388, 08:54اااااااااااااااه !!! من 2 ساعت تایپ کردم این ADSL قطع شد پرید.حس دوباره نوشتنش نیست ولی راه حل من اینه : توی برنامت به یه DLL خاص مثل li.dllx رفرنس میدی! توی این DLL با هر روشی که به فکرت میرسه اسم دامین طرف رو دخیره میکنی! در حالت اولیه توی اون مثلا مقدار دمو گذاشتی وقتی برنامه رو میدی به کسی اون DLL رو خودت جنریت می کنی که نام دامین طرف توش باشه. بعد توی رویداد application_start ( توی Global.asax ) این مقدار رو با دامین طرف چک میکنی.اگه بود که ردیفه.نبود app_offline.htm رو بارگذاری می کنی. m1pfard 11 مهر 1388, 10:55بازم ممنون من 2 ساعت تایپ کردم این ADSL قطع شد پرید.حس دوباره نوشتنش نیست خوب اینم از شانس منه!!!! آرش خان روش شما خوبه ولی متاسفانه الان بدرد من نمی خوره چون تقریبا دارم پروژه رو تحویل میدم ولی در آینده حتما روش کار می کنم. مسعود خان با اجازه من از راه حل پیشنهادی شما استفاده می کنم!!!! ولی بازم یه سوال: اگه DLL رو Decompile کردن چی:green: یا بازم اگه طرف همه فایلها رو (از جمله همون DLL رو) به سرور دیگری با همون نام انتقال داد چی؟!! فکر کنم علاوه بر نام دومین باید مقادیر دیگری هم چک بشن (برای لوکال). یا باید حتما از قفل سخت افزاری (USB) استفاده کنم. یه روش هم که الان به نظرم رسید: برای اینکه هر دو امکان نسب رو به کاربر بدم (هم تو وب و هم تو لوکال) میشه قبل از چک کردن قفل (تو Application - start) اول قفل وب یا همون وب سرویس رو چک کنه اگه نشد قفل لوکال رو چک کنه و اگه اینبار هم نشه خطای قفل رو بده. بازم منتظر نظرات سبز شما هستیم....




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 1724]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن