اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

السلام عليكم


اعرض عليكم احبتي فكرة قمت بتنفيذها .. واريد تحسينها
نقاش ودي .. متاح لجميع رواد المنتدى المبتدىء قبل الخبير

الفكرة هي حماية البرنامج  ليعمل في فترة محددة كأشتراك ... 1شهر / 6 شهور / سنة ...

الفكرة تم تنفيذها بكل اتقان واحترافية بفضل الله .

اكرر .. العملية ناجحة نجاحا باهرا بكل المعايير

........................................................

ولكن قبل ذلك البرنامج يحتوي على حماية ضد النسخ

بمعنى  حين ابعث البرنامج اول مرة للمستفيد  ويقوم بتشغيله يظهر له رقم النسخة ويطالبه برقم التسجيل

يقوم  المستفيد بمراسلتي ويزودني برقم النسخة فأعطيه رقم التسجيل 

رقم التسجيل هذا هو ملك له ويتم حفظه بملف نصي بجانب قاعدة البيانات

ومادام هذا الملف موجود وداخله رقم التسجيل الصحيح فالبرنامج يعمل على اتم وجه

----------------
علما ان حماية الاشتراك مشابهة لها تقريبا والاختلاف فقط ان الاشتراك يعتمد على تاريخ داخل جدول
--------------------

الى هنا كل شيء حلو وجميل

........................................................

نأتي للمطلوب

 لتفعيل حماية الاشتراك

1- الافضل وهو المطلوب في السوق غالبا اتاحة نسخة تجريبية لفترة محددة كشهر واحد مثلا ...

المطلوب :
لا اريد اكوادا .... اريد التوجيه والشرح .. اريد طريقة لتنفيذ الفكرة

1- اريد الجمع بين الحماية الاولى والثانية بعملية واحدة .. كيف؟

2- اريد لما تنتهي فترة التجربة ازوده برقم فيتم تفعيل البرنامج لسنة قادمة مثلا . ( الطريقة السهلة ان ارسل له واجهة جديدة مفعلة لمدة سنة ..)

 

هل اجعل النسخة التجريبية متاحة للنسخ بمعنى انها لا تحتوي على شرط العمل على جهاز واحد ويكفي حماية الاشتراك لأنها  بعد انقضاء الشهر لن تعمل ابدا حتى لو تم نقلها لجهاز آخر

هذه الطريقة تتيح للمستفيد نقل البرنامج الى الاجهزة الاخرى فترة السماح وسوف يعمل

___________________________________________________________________________________

قد تتعجبون اذا قلت لكم .. خلال كتابتي لآخر الاسطر هذه .. اني وجدت الحل  والطريقة للجمع بين الحمايتين .. وايضا تفعيل الاشتراك الدائم  بارسال الرقم فقط

 

      كثيرا جدا مرات ومرات .. حين ابدأ بعرض المشكلة وابدأ بالكتابة .. اصل الى حل مقنع .. لأني اعرض على نفسي المشكلة .. واستوعب ابعادها وانا اكتب .. ثم الغي الطلب

ولكني اشعر ان هذا الموضوع يهم فئة ليست قليلة لذا سأطرحه مع الحل الذي توصلت اليه

__________________________________________________________________________________


الحل حسب وجهة نظري هو جعل كود الحماية ( رقم التسجيل ) مشترك  بحيث يكون جزء منه يشمل الحماية من النسخ ، والجزء الآخر لتفعيل الاشتراك

.............

الموضوع مفتوح للمناقشة  .. ومقترحاتكم محل اهتمام

قام بنشر

وعليكم السلام ورحمة الله وبركاته ..

وكما هو الحالي في جميع المواضيع التي طُرحت وتحدثت بهذا الخصوص ، وكان لكثير من الخبراء والمعلمين والأساتذة مشاركة - وأنت معلمي أحد أبرز هذه الشخصيات - حول أساليب وطرق تنفيذ هذه الخطوة في مشاريعهم التي تتعلق بقواعد بيانات آكسيس أو حتى بأي برنامج بلغة آخرى . وتلخصت جميع الحوارات على عدة نقاط وركائز أساسية منها باختصار :-

  1. طبيعة البصمة التي سيتم توليدها لكل جهاز ، وضمان عدم تكرارها عند عميل آخر . وطبعاً ستعتمد وكما هو معروف على عدة عوامل ومكونات لجهاز الكمبيوتر نفسه الذي سيعمل عليه البرنامج . رغم التحديات التي قد تواجه المطور ( المبرمج ) من حيث ، ماذا لو اختلفت قيمة أحد هذه العوامل التي يتكون منها معرف أو بصمة العميل ؟
    لذا من الجيد والمهم إيجاد طريق مرن للتعامل مع هذه النقطة ( سبق أن تعاملت معها باعتماد 3 قيم من أصل 4 ) .

     
  2. فكرة النسخة التجريبية والتي كما ذكرتم أعلاه ، أن لها عدة أوجه للتعامل معها . حيث إما نسخة تعمل فقط لمدة محددة غير قابلة للتفعيل ( واجهة المشروع بدون الجداول حتماً ) ولاحظ أن ما بين قوسين سيكون بمثابة ثغرة وفجوة كبيرة . وإما أن تكون النسخة نفسها ذات المدة المحددة وبعد انتهائها تطلب من العميل التفعيل من خلال عدم عملها ؛ مع الأخذ بعين الإعتبار تلك الثغرات وعدم أخذ الحيطة لجميع الإحتمالات والسيناريوهات التي قد تحدث ، أو الأخذ بعين الإعتبار التلاعب بالتاريخ ( بما أن التفعيل والنسخة لا تعتمد على اتصال الإنترنت لضمان التاريخ الحقيقي عند تشغيل النسخة لأول مرة ... أو لاحقاً ) .
     
  3. عن تجربتي الشخصية وحيث أنني لا أشجع على أن تكون بصمة أو معرف العميل ظاهراً له ( قهراً وعناداً بأخصائيي الهندسة العكسية :biggrin: ) ، فقد توجهت لتنفيذ التفعيل من خلال الانترنت حصراً ؛ حالي كحال الشركات الكبيرة التي تعتمد على الإنترنت عند التفعيل . وهذا يجعل العميل محصوراً في خانة اليَّك أن برنامجه قد تفعل وأن مدة ونوع التفعيل ظاهراً له فقط لا غير بدون الكشف عن أي رقم يعرف عن جهازه . وهنا قد يكون وكما ذكرتم أن من حقه الحصول على مفتاح التفعيل الخاص بجهازه والإحتفاظ به بين يديه لاستعماله متى أراد .
     
  4. الإحتفاظ ببيانات التفعيل أو معلومات عن التفعيل داخل الجداول فقط قد تكون قابلة للحصول عليها أو الحقن أو غيرها من محاولات الإختراق . ليس المقصود أننا نتعامل مع بيانات آكسيس وليس معلومات عن البيت الأخضر أو الأبيض أو أي لون كان 😁 . ولكن بما أننا نتحدث عن الحماية فيجب الإلمام بجميع النواحي ( إلى حد ما ) .
     
  5. من المهم برأيي المتواضع إعلام المستخدم أن هذه النسخة تجريبية ومدتها س يوم . أو حتى على الأقل أن لا يتفاجئ المستخدم بأن النسخة التي تم تفعيلها لمدة عام مثلاً قد انتهت فجأة دون إشعاره بانتهاء مدة التفعيل . فيجب وضع إشعار قبل 15 يوم مثلاً من اقتراب انتهاء التفعيل . أما النسخة التجريبية فجيد أن يكون الإشعار ظاهراً دائماً في الواجهة الرئيسية .

هذا ملخص ما خطر ببالي من أفكار قد تطرقتم لبعضها فيما سبق ، و وجهات النظر لا بد من أن تلتقي يوما ما . أما بخصوص الأسئلة التي طرحتها فمن خلال تجاربي وجدت أن التفعيل الـ Offline غير آمن وغير مجدي وغير مستقر . لذا توجهت إلى التفعيل الـ Online .

قام بنشر

جميل جدا ما تفضلت به

ولكن دعنا نتفق على ان الحماية انواع وحسب البرنامج ... بعض البرامج لا تجد لها مريدين الا جهات خاصة يريدون شيئا جاهزا .. ولا مشكلة لديهم في دفع المقابل اذا كان سعره بحدود المعقول والا سيبحثون عن منتج آخر يخدمهم .

ايضا دعنا نستبعد المغرمين بالهندسة العكسية وهواياتهم الغير شرعية .

اقتباس

أو الأخذ بعين الإعتبار التلاعب بالتاريخ ( بما أن التفعيل والنسخة لا تعتمد على اتصال الإنترنت لضمان التاريخ الحقيقي عند تشغيل النسخة لأول مرة ... أو لاحقاً ) .

هذه النقطة تمكنت من ضبطها باحكام .. فأي عبث بتاريخ الكمبيوتر سوف تظهر رسالة تنبه بذلك   ويغلق البرنامج

ايضا التواريخ مشفرة وأي عبث فيها سوف تظهر رسالة تنبه بذلك ويغلق البرنامج 

سنطبق الحماية على بيئة أكسس والتجارب حصرية لهذا المنتدى ورواده

 

ولأني الآن اعمل عليه ، فلا مشكلة لدي ان اطرح تجربتي لمن اراد التجربة .

المهم اني خلصت الآن الى خطوات العمل التي ارى انها تخدمني وقبلها سأشرح سناريوهات التجارب :

الفكرة الاولى :

كل ما يرد يخص الواجهات .. لأن البرنامج مقسم

1- ان البرنامج يكون متاحا بلا حمايات للجميع ويتم نشره قدر الامكان .. ولكنه محدد بزمن التجربة داخل المحرر ، فاذا انتهت المدة  لن يعمل

وهنا يلزم لمن اراد الاستمرار الحصول على النسخة المحمية .. 

ولكن هذه غير عملية لأنه بعد عشرة ايام تكون النسخة المنشورة صالحة لمدة 20 يوما فقط 

على هذا يجب تحديث النسخة يوميا .. وهذا صعب

الفكرة الثانية :

يكون البرنامج متاح للتنصيب ولكن لن يعمل الا بشفرة .. هذه الشفرة تجمع بين حماية البرنامج عن النسخ  ومدة الاشتراك المطلوبة .

فيمكن ان نمنح المستفيد شفرة لفتح البرنامج لمدة شهر مجاني او شهرين واحد مجاني والآخر مدفوع او لأكثر من ذلك  سنة مثلا 

ويمكن ان تكون الشفرة للتملك بلا اشتراكات لمدة 5 سنوات مثلا .

عند ادخال هذه الشفرة يعمل البرنامج بلا مشاكل 

اقتباس
  1. من المهم برأيي المتواضع إعلام المستخدم أن هذه النسخة تجريبية ومدتها س يوم . أو حتى على الأقل أن لا يتفاجئ المستخدم بأن النسخة التي تم تفعيلها لمدة عام مثلاً قد انتهت فجأة دون إشعاره بانتهاء مدة التفعيل . فيجب وضع إشعار قبل 15 يوم مثلاً من اقتراب انتهاء التفعيل . أما النسخة التجريبية فجيد أن يكون الإشعار ظاهراً دائماً في الواجهة الرئيسية .

فكرة جميلة لم تخطر على بالي .. مع اني قد رأيتها في بعض البرامج  سوف اطبقها ان شاء الله

عند انتهاء الاشتراك .. سوف يظهر نموذج التسجيل المعتاد

ونعيد العملية مرة أخرى

الجميل في الموضوع ان التجديد بالنسبة للمبرمج مثله مثل تنصيبه لأول مرة .. لا يهمه ان كان على الحاسبة الاولى او تم نقل البرنامج الى حاسبة أخرى .

  • Like 1
قام بنشر

استدراك :

اقتباس

 وهنا قد يكون وكما ذكرتم أن من حقه الحصول على مفتاح التفعيل الخاص بجهازه والإحتفاظ به بين يديه لاستعماله متى أراد .

فقط  جزء من الشفرة سيكون ظاهرا له .. وهو الجزء الخاص بالحماية من النسخ .. اما ما يخص الاشتراك ففي الاصل غير ضروري وجوده اي ان اكسس لا يحتاج اليه

وانما يحتاج لشفرة الجهاز من اجل الفتح فقط .. لذا ما يخص الاشتراك لن يتم حفظه .. لأن العمدة هو التاريخ المسجل

قام بنشر

هل تصورت الوضع ؟؟؟

تركيب برنامج جديد او انتهاء الاشتراك واحد .. اي سيظهر نموذج واحد

الفرق ان نهاية الاشتراك سيظهر عبارة : الاشتراك منتهي ... للتجديد اتصل بــــ

قام بنشر
2 ساعات مضت, ابوخليل said:

ولكن هذه غير عملية لأنه بعد عشرة ايام تكون النسخة المنشورة صالحة لمدة 20 يوما فقط 

دعنا نناقش الجوهر فقط . ففي النقطة السابقة المقتبسة ، إن كان خط سيرك بإضافة تاريخ داخل الأكواد ، فهي فعلاً معضلة وقد يكون الشخص الذي حمل النسخة بعد 25 يوم قد بقي لديه 5 أيام ( على افتراض ان النسخة التجريبية 30 يوم من تاريخ مدرج في الأكواد . لكن !!!!

إن كانت المدة 30 يوم من تاريخ التشغيل الأول فهنا سيكون لكل مستخدم 30 يوماً كاملةً . وبالتالي ستستغني عن هذه العبارة التالية :-

2 ساعات مضت, ابوخليل said:

على هذا يجب تحديث النسخة يوميا .. وهذا صعب

 

2 ساعات مضت, ابوخليل said:

يكون البرنامج متاح للتنصيب ولكن لن يعمل الا بشفرة .. هذه الشفرة تجمع بين حماية البرنامج عن النسخ  ومدة الاشتراك المطلوبة .

ستدخل في متاهة أن التفعيل هو للنسخة التجريبية أو للنسخة المفعلة الكاملة ( سنة على سبيل المثال ) ؟؟؟؟
بالتالي سيكون في ملف التفعيل المدمج أو الجدول رقمي تفعيل الأول للتجريبية والثاني عند التفعيل الكامل . ( إذا كان ما فهمته صحيحاً 😅 ) .

 

2 ساعات مضت, ابوخليل said:

الجميل في الموضوع ان التجديد بالنسبة للمبرمج مثله مثل تنصيبه لأول مرة .. لا يهمه ان كان على الحاسبة الاولى او تم نقل البرنامج الى حاسبة أخرى .

تطرقنا سابقاً مع الأستاذ @ابو جودي في تجارب بهذا الخصوص ( فكرة التمديد ) . فلنفترض أنني كعميل أعجبني عملك ومشروعك ويخدمني بكل تفاصيله وقد اشتريت أو تم التفعيل لمدة 3 اشهر بعد الفترة التجريبية . وأردت قبل انقضاء مدة الـ 3 شهور هذه أن أقوم بتجديد الإشتراك مدة 3 شهور أخرى ، كتحليل :-
     الـ 3 شهور الأولى تنتهي بتاريخ 31-01-2026 ، وانا طلبت منك بتاريخ 10-01-2026 كود تفعيل لـ 3 شهور أخرى . أي سينتهي اشتراكي بتاريخ 30-04-2026 ( إن صحت حساباتي ) فهل التاريخ صحيح أم سيتم احتساب التمديد والتجديد من 10-01-2026 !!!!!!

2 ساعات مضت, ابوخليل said:

وانما يحتاج لشفرة الجهاز من اجل الفتح فقط .. لذا ما يخص الاشتراك لن يتم حفظه .. لأن العمدة هو التاريخ المسجل

عادةً أفكر عند هذا العمل بأن يكون هناك معامل لعدد أيام التشغيل ( الفرق بين أول تشغيل أو تفعيل وتاريخ اليوم ، بحيث يكون العدد كأيام مطابق لفترة الإشتراك ) . وهنا ستكون الحاجة لأن يكون إجمالي عدد أيام منذ التفعيل الأول إلى نهاية الإشتراك = هذا العدد . أي ان في المثال السابق سيكون مجموع أيام الإشتراك أو تفعيل البرنامج = 90 يوماً وليس 70 يوماً .

2 ساعات مضت, ابوخليل said:

هل تصورت الوضع ؟؟؟

تركيب برنامج جديد او انتهاء الاشتراك واحد .. اي سيظهر نموذج واحد

الفرق ان نهاية الاشتراك سيظهر عبارة : الاشتراك منتهي ... للتجديد اتصل بــــ

هذه الجزئية تعود لك كمبرمج ولآلية عملك التي تفضلها . ولكن انظر لها مستقبلاً . أفضّل بالنسبة لي أن يكون النموذج الخاص بالتمديد أو التفعيل هو نفسه الوحيد . وليس له داعي لتفعيل النسخة التجريبية . فيكفي أن يظهر لأول مرة للمستخدم أن البرنامج نسخة تجريبية مدتها 30 يوماً كرسالة . وسيكون هناك زر خاص بالتفعيل يفتح النموذج الوحيد هذا .

 

ستختلف الأفكار وتترامى بين هنا وهناك ( وهذا ما وقعت فيه سابقاً ) وما دعاني لتجربة التفعيل الهوائي . فوجدت أنه محكم جداً إلى حد ما .

ولا مانع لدي من مشاركتك الفكرة مفتوحة المصدر وشرحها إن تطلب الأمر 🤗 .

 

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   1 عضو متواجد الان

×
×
  • اضف...

Important Information