PDA

View Full Version : حرفه ای: محدودیت 30 روزه برای نرم افزار



hamed.alinejad
چهارشنبه 20 آذر 1392, 18:31 عصر
با سلام به مدیران محترم و کاربران
شاید این تاپیک تکراری باشه ولی من همه تاپیک ها رو دیدم و همه ناقص بودن خواستم یه تاپیک کامل و جامع باز کنم تا شاید به نتیجه ای برسیم چون تاپیک های قبلی هیچ نتیجه ای نداشتن.

دوستان میخوام برای نرم افزار یه محدودیت 30 روزه داشته باشم لطفا فقط در این مورد بحث کنید و شرایط زیر رو در نظر داشته باشین که چکیده ای از تاپیک های قبلی هست

1- با تاریخ سیستم * که نمیشه چون کاربر میتونه راحت بکشه عقب
2- تاریخ سیستم رو هنگام نصب ذخیره کنیم * اینم نمیشه به این دلایل = احتمالا هنگام نصب تاریخ سیستم اشتباه باشه و یا اصلا درست هم باشه و ما ذخیره کنیم کاربر میتونه تاریخ رو توی یه روز نگه داره به هر حال یه باگ بزرگ هست و نمیشه
3- تاریخ رو از اینترنت بگیریم * اینم نمیشه چون احتمالا کاربر به اینترنت وصل نباشه


و مهمتر از همه این که نمیخوایم از نرم افزار جانبی استفاده کنیم
نرم افزار خودمون بعد از 30 روز خودش به جای صفحه اصلی صفحه دریافت لایسنس رو میاره که بعد از ثبت لایسنس بازم 30 روز بهش وقت داده میشه


نرم افزار های معروف و بزرگ خارجی راحت میتونن این محدودیت رو انجام بدن ولی من هر چی تو سایت های فارسی جستجو کردم پیدا نکردم

میخوام به یه نتیجه کامل برسیم یه الگوریتم که واقعا امنیتی باشه و همه بتونیم واقعا ازش کاربردی استفاده کنیم


با تشکر از همه که تو پست باهم همکری کنیم تا به نتیجه برسیم

sagggad
چهارشنبه 20 آذر 1392, 18:34 عصر
من که یه پیشنهاد تو آدرس زیر دادم:
http://barnamenevis.org/showthread.php?431414-%D8%AA%D8%A7%D8%B1%DB%8C%D8%AE-%D8%AC%D8%A7%D8%B1%DB%8C-%D8%A8%D8%AF%D9%88%D9%86-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D8%AA%D8%A7%D8%B1%DB%8C%D8%AE-%D8%B3%DB%8C%D8%B3%D8%AA%D9%85-%D8%B9%D8%A7%D9%85%D9%84&p=1929508&viewfull=1#post1929508

hamed.alinejad
چهارشنبه 20 آذر 1392, 19:01 عصر
دوست عزیز روش شما کاملا خوب بود اما هیچوقت یه برنامه بزرگ تجاری رو نمیتونی اینجوری بفروشی مثلا بگی بعد از 10 ساعت استفاده از کار میوفته

شما فرض کنید ما یه نرم افزاری داریم که هر ماه باید حق عضویت و استفاده از نرم افزار رو بده یعنی هر 30 روز مبلغی برای تمدید بده یا اصلا هر سال یه مبلغی واسه هزینه سالیانه نرم افزار بده اونموقع چی ؟

ما دقیقا میخوایم در این سوال من به یه الگوریتم درست برسی و من جواب قبلی شما رو کاملا قبول دارم

یعنی ما نمیتونیم یه کدی مثل این همه نرم افزار های خارجی که محدودیت زمانی دارن و کاملا هم درست کار میکنن نمیتونیم طراحی کنیم ؟

sagggad
چهارشنبه 20 آذر 1392, 20:34 عصر
چرا درسته ولی من بلد نیستم!!:خجالت:

damanpak
چهارشنبه 20 آذر 1392, 20:53 عصر
اتفاقا من هم قبلا همچین مشکلی داشتم و اومدم این کار رو انجام دادم(البته کار زیاد جالبی نیست اما از هیچی بهتره)
به محض ورود به نرم افزار هم تاریخ و هم ساعت سیستم رو میگرفتم(به این کاری نداشتم که تاریخ درسته یا نه)
بعد توی فرم اصلی توی یک تایمر هر 1 دقیقه دوباره تاریخ و ساعت جاری سیستم رو میگرفتم
در مرحله اول چک میکردم که اگه تاریخ و ساعت جاری سیستم از اون تاریخ و ساعتی که یک دقیقه قبل گرفتم کوچکتر بود همونجا نرم افزار رو قفل میکردم و به کاربر پیغام میدادم که "نرم افزار شما به دلیل تغییر دستی تاریخ سیستم قفل گردیده،با برنامه نویس تماس بگیرید" و این کار زمانی اتفاق می افتاد که کاربر تاریخ و ساعت سیستم رو به عقب برگردونه
اگه هم که کاربر به تاریخ و ساعت سیستم دست نمیزد روال عادی برنامه انجام میشد و بقیه ماجرا
در آخر هم به مشتری میگفتم که اگه تاریخ سیستم رو دستکاری کنند نرم افزار قفل میکنه و باید دوباره هزینه راه اندازیشو بپردازند

sagggad
چهارشنبه 20 آذر 1392, 20:56 عصر
اینم نظر باحالیه.

Abbas Naghdi
چهارشنبه 20 آذر 1392, 21:23 عصر
بیا یه کاری کن
یه ایده دارم که هنوز پیاده سازیش نکردم ببینم کار میکنه یا نه ... !

اینم الگوریتمش :

یه فایل درست کن در یه جایی که خودتون میدونید ... (این کار رو باید برنامه انجام بده(بار اول که اجرا میشه)
حالا تاریخ ایجاد این فایل رو بگیرین و هر روز تاریخ ایجاد فایل رو + 1 روز اضافی بکنید ... میبینید که 30 روز بعد از تاریخ ایجاد فایل برنامتون غیر فعال میشه جالبش اینجاست که با تغییر ساعت ویندوز تغییر نمیکنه ...
البته یه مشکل داره و اونم اینه که اون +1 روز رو از کجا دقیق بگیریم ... اینم راه حل داره با چند ساعت اختلاف البته ... فعلا همین به ذهنم رسید .... البته نرم افزار های زیادی برای این کار هستن
و در آخر در سایت های بزرگ و خارجی یه جستجو کنید ...

sagggad
چهارشنبه 20 آذر 1392, 21:43 عصر
بیا یه کاری کن
یه ایده دارم که هنوز پیاده سازیش نکردم ببینم کار میکنه یا نه ... !

اینم الگوریتمش :

یه فایل درست کن در یه جایی که خودتون میدونید ... (این کار رو باید برنامه انجام بده(بار اول که اجرا میشه)
حالا تاریخ ایجاد این فایل رو بگیرین و هر روز تاریخ ایجاد فایل رو + 1 روز اضافی بکنید ... میبینید که 30 روز بعد از تاریخ ایجاد فایل برنامتون غیر فعال میشه جالبش اینجاست که با تغییر ساعت ویندوز تغییر نمیکنه ...
البته یه مشکل داره و اونم اینه که اون +1 روز رو از کجا دقیق بگیریم ... اینم راه حل داره با چند ساعت اختلاف البته ... فعلا همین به ذهنم رسید .... البته نرم افزار های زیادی برای این کار هستن
و در آخر در سایت های بزرگ و خارجی یه جستجو کنید ...

دوست عزیز مشکل همه ما اینجاست که این سی روز رو برنامه چطور محاسبه کنه؟؟

Abbas Naghdi
چهارشنبه 20 آذر 1392, 21:52 عصر
دوست عزیز مشکل همه ما اینجاست که این سی روز رو برنامه چطور محاسبه کنه؟؟
خب منم گفتم چطور محاسبه کنید ... :؟

sagggad
چهارشنبه 20 آذر 1392, 21:55 عصر
درسته اما ممکنه کاربر تاریخ رو عقب بکشه.بعد هم اون یک روز رو باچی حساب کنیم؟؟

Abbas Naghdi
چهارشنبه 20 آذر 1392, 22:31 عصر
یه روش دیگه اینه که بیایم و از تاریخ بایوس استفاه کنیم به جای ویندوز ... البته به شرط اینکه بایوس رو تغییر نده ویندوز ... !

sagggad
پنج شنبه 21 آذر 1392, 11:06 صبح
اتفاقا من هم قبلا همچین مشکلی داشتم و اومدم این کار رو انجام دادم(البته کار زیاد جالبی نیست اما از هیچی بهتره)
به محض ورود به نرم افزار هم تاریخ و هم ساعت سیستم رو میگرفتم(به این کاری نداشتم که تاریخ درسته یا نه)
بعد توی فرم اصلی توی یک تایمر هر 1 دقیقه دوباره تاریخ و ساعت جاری سیستم رو میگرفتم
در مرحله اول چک میکردم که اگه تاریخ و ساعت جاری سیستم از اون تاریخ و ساعتی که یک دقیقه قبل گرفتم کوچکتر بود همونجا نرم افزار رو قفل میکردم و به کاربر پیغام میدادم که "نرم افزار شما به دلیل تغییر دستی تاریخ سیستم قفل گردیده،با برنامه نویس تماس بگیرید" و این کار زمانی اتفاق می افتاد که کاربر تاریخ و ساعت سیستم رو به عقب برگردونه
اگه هم که کاربر به تاریخ و ساعت سیستم دست نمیزد روال عادی برنامه انجام میشد و بقیه ماجرا
در آخر هم به مشتری میگفتم که اگه تاریخ سیستم رو دستکاری کنند نرم افزار قفل میکنه و باید دوباره هزینه راه اندازیشو بپردازند

البته نظر شما آقای DamanPak هم یه مشکل بزرگ داره.اون هم اینه که کاربر اگه یک کم وارد باشه،ازبرنامه خارج میشه وبعد تاریخ رو دستکاری میکنه.!

hamed.alinejad
پنج شنبه 21 آذر 1392, 12:04 عصر
یه روش دیگه اینه که بیایم و از تاریخ بایوس استفاه کنیم به جای ویندوز ... البته به شرط اینکه بایوس رو تغییر نده ویندوز ... !


روش خوبی هست ولی حتی اگه ویندوز هم بایوس رو تغییر نده کاربر که میتونه به طور دستی تغییرش بده یا شاید اصلا باطری بایوس خراب هست و تاریخ رو هی از یک روز شروع میکنه


دوستان خیلی خوشحالم که همگی تو این بحث شرکت کردین
این یه مشکل برای همه برنامه نویس های ایرانی هست

امیدوارم بتونیم به یه راه درست و امنیتی برسیم

چون نرم افزار های بزرگ خارجی اینکار رو کردن پس چیزی نیست که بگیم امکان نداره


من از مدیرهای عزیز هم درخواست دارم روی این بحث بیشتر کار کنن و اونا هم همکاری کنن

ممنون از تک تکتون

hamed.alinejad
پنج شنبه 21 آذر 1392, 16:16 عصر
من از مدیران تقاضا دارم این تاپیک رو جز تاپیک های مهم بکنن تا با رسیدن به نتیجه به همه دوستان بتونیم کمک کنید

از دوستان با تجربه هم درخواست میکنم تا با همکاریشون کمک کنن

sagggad
پنج شنبه 21 آذر 1392, 16:19 عصر
منم همین درخواست رو دارم.هم از مدیران وهم از افراد با تجربه

hamed.alinejad
پنج شنبه 21 آذر 1392, 17:54 عصر
دوستای عزیزم من همه اینترنت رو جستجو کردم ولی واقعا چیزی پیدا نکردم یعنی ما ایرانی ها فقط مغزمون رو گذاشتیم واسه کرک کردن و واقعا کسی به امنیت توجه نمیکنه که این الگوریتم رو بتونیم درست کنیم ؟؟؟؟؟؟؟؟

مدیران محترم لطفا تاپیک رو اولویت بدین و توی تاپیک های ویژه بذارین تا واقعا بتونیم به این امنیت و الگوریتم هم برسیم

Abbas Naghdi
پنج شنبه 21 آذر 1392, 18:00 عصر
راه دیگه هست بیایم با استفاده از API هر وقت ساعت و تاریخ تغییر کرد اغییرات رو محاصبه کنیم ... میدونید که چی میگم ... ما که تاریخ فعلی رو داریم ... حالا اگه 100 سال تغییر کرد این 100 سال رو در نظر نگیریم ... خیلی دقیق میشه این کار رو کرد اما نیاز این کار فال گوش بودن برنامه هست ...

sagggad
پنج شنبه 21 آذر 1392, 18:07 عصر
راه دیگه هست بیایم با استفاده از API هر وقت ساعت و تاریخ تغییر کرد اغییرات رو محاصبه کنیم ... میدونید که چی میگم ... ما که تاریخ فعلی رو داریم ... حالا اگه 100 سال تغییر کرد این 100 سال رو در نظر نگیریم ... خیلی دقیق میشه این کار رو کرد اما نیاز این کار فال گوش بودن برنامه هست ...
شما درست میگی دوست من.اما مشکل اصلی همه ما اینه که چطور این اختلافاتی که ممکنه توسط کاربر ایجاد شه محاسبه شه؟؟!:افسرده:

hamed.alinejad
پنج شنبه 21 آذر 1392, 18:15 عصر
ما فقط تنها چیزی که میتونیم داشته باشیم تاریخ نصب نرم افزار هست.
خب احتمال داره اصلا موقع نصب تاریخ اشتباه باشه و بعدا تاریخ رو کاربر درست کنه اونوقت نرم افزار از کار میوفته و واقعا واسه کاربر نا رضایتی میاره

sagggad
پنج شنبه 21 آذر 1392, 18:27 عصر
ما فقط تنها چیزی که میتونیم داشته باشیم تاریخ نصب نرم افزار هست.
خب احتمال داره اصلا موقع نصب تاریخ اشتباه باشه و بعدا تاریخ رو کاربر درست کنه اونوقت نرم افزار از کار میوفته و واقعا واسه کاربر نا رضایتی میاره
اصلا غیر از اون ممکنه کاربر بعد از نصب تاریخ رو عقب بکشه.برنامه میخواد برچه مبنا تشخیص بده که تاریخ درسته؟؟

hamed.alinejad
پنج شنبه 21 آذر 1392, 19:06 عصر
ما فکرمون همش به تاریخ هست یعنی هیچ راه دیگه ای نیست که اصلا با تاریخ کاری نداشته باشیم و سی روز رو محاسبه کنیم ؟
با تایمری یا با کنترل دیگه؟

و یه جایی دیدم یکی گفته بود مادربورد خودش تاریخ انقضا داره ؟ درسته این کسی میدونه چیه ؟

یا به نظرتون با تاریخ تولید سی پی یو یا مادربورد ؟

sagggad
پنج شنبه 21 آذر 1392, 19:48 عصر
به اون تاریخ ها که از طریق سیستم نمیشه دست پیداکرد

behrooz69
جمعه 22 آذر 1392, 23:36 عصر
من روش 1 سال استفاده کردن رو با کارتیفیکیت خود پروژه بلدم ولی روش دیگه رو باید بگردم و تست کنم . خواستین بگین

hamed.alinejad
یک شنبه 24 آذر 1392, 13:59 عصر
خب یه سال رو چطور انجام میدین ؟