الانتقال إلى المحتوى

أسهل كود لحماية نظامك وتسجيل النسخة ، سيريال نمبر


Faisal Matari

Recommended Posts

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

جئت لكم بفكرة يتم من خلالها تسجيل النسخة الخاصة بنظامكم، ولا تسمح للمستخدم بنسخ النظام وتركيبة بجهاز اخر 

الفكرة بسيطة جدا ان شاء الله :، ولنبدأ الشرح

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

select DBID from V$database ;

من خلال هذا الكود تستطيع التأكد من أن رقم النسخة تم تسجيله او لا ، وذلك مثلا بحفظ رقم النسخة في اي مكان بقاعدة البيانات او تخصيص جدول خاص بتسجيل النسخة ويحتوي على (رقم النسخة ، ونوعها ، وتاريخ الانتهاء) ..

بعد تخضيص الجدول وليكن اسمه Regs فأول ما يتم فتح الشاشة الرئيسية يتم عمل select على خانة رقم النسخة والتأكد من أنها تساوي رقم قاعدة البيانات الخاصة بالمستخدم الحالي، واذا كانت مساوية له فمعنى ذلك ان نسخة النظام أصلي ، مالم فيتم طلب من المستخدم تسجيل النسخة .

عندما تكون النسخة غير مسجلة اطلاقا بإمكانك اضافة بياناتها على قاعدة البيانات وعمل 7 ايام تجريبية.

خطوات العمل كالتالي ::--

1. اول ما يتم فتح نظامك يتم مباشرة استدعاء رقم قاعدة البيانات من جدول V$database وتخزينة في متغير LcNum مثلا.

2. يتم استدعاء الرقم المخزن في الجدول الذي انشأته أنت بقاعدة البيانات وليكن RegTable وتخزين رقم النسخة في متغير RegNum.

-- اذا لم يتم العثور على اي بيانات في جدول RegTable فمعنى هذا ان النظام جديد ولأول مره يعمل في جهاز (العميل) ، وهنا انت مخير بإعطاء العميل 7 ايام نسخة تجريبية ، وذلك بتخزين بيانات الى جدول RegTable تتضمن LcNum الخاصة برقم قاعدة البيانات و تاريخ اليوم +7 sysdate و نوع النسخة (تجريبية).

--- أما اذا وجدت بيانات في جدول RegTable فقم بالتاكد من أن رقم النسخة الموجود بجدول RegTable  مساوي لرقم قاعدة البيانات الموجود في V$database  ...

      +++ اذا كان الرقم مطابق ، فمعنى هذا ان النسخة مسجلة ، ويجب مراجعة التأريخ والتأكد أنه أكبر من تاريخ اليوم، مالم فإن النسخة أنتهت.

     ++++ أما اذا كان الرقم غير مطابق فمعنى هذا انه تم نسخ النظام من عميل أخر ، لأن رقم قاعدة البيانات لم يتطابق مع الرقم المخزن في جدول RegTable ، وبذلك تطلب من العميل التواصل بالمبرمج وتوزيده بالرقم الظاهر أمامه ليعطيك الرقم المقابل ولتسجيل النسخة..

 

*كيف أعمل الرقم المقابل لرقم النسخة ،، بإذن الله سيتم شرحة في موضوع منفصل ..

مرفق لكم  شاشة وأكواد العملية،،

 

كود انشاء الجدول 

create table RegTable(
   RegNum          NUMBER(15) NOT NULL,
   RegName       VARCHAR2(20 BYTE),
   EXPDATE        DATE        NOT NULL);

 

بالتوفيق للجميع 

COnsuitech CN.png

COnsuitech CN.fmb COnsuitech CN.fmx

رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية