الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

برنامج تسيير مؤسسة تربوية

رائج
بدأه hbate_allah في 17 يناير 2009 · 717 رد · 52,020 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#576

اختي هبة بهذه يمكنك حتى ان تحمي منظومتك بالشئ الذي تريدنه لكن مع بعض التعديلات طبعا وخاصة ال Algo المستعملة في التشفير .

فيمكن مثلا ان تظيفي حماية للمنظومتك برقم سري او Serial Number كيف يكون ذلك :

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

طريقة طويلة ومعقدة بعض الشئ .

انا هنا لائ سؤال .

اخوك محمد

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

اختي هبة ماهو الشئ الذي لم تستطيعي فهمه هل الطريقة ام ماذا ؟

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#577
اقتباس
عند تثبيت برنامجك لاول مرة اتركيه ينشئ مفاتيح في الريجستري

شكرا اخي لكني اريد ان اعرف كيف انشات الريجستري

#578
اقتباس
لم افهم اخي على هل مطلوب مني شرح هذه الخاصية كاملة ام ماذا .

ما قل ودل

سا نسحب لبعض الوقت وساعود لحقا

اللهم علمنا ما ينفعنا وانفعنا بما علمتنا وانفع الناس بنا واغفر لنا وارحمنا

#579

لا تشرح كل شيء اخ mohfa

لكن ان كان لديك رابط نت يشرح هذه الطريق ارفقه

#580

اولا ياختي هبة الريجستري لاتنشاء ولكننا انشئنا مفاتيح في الريجستري .

اخي عبد العالي هلا شرحت قليلا للاخت هبة .

هل حملت المرفق .

-----

اخت هبة بعد إذنك هل تحسينين اللغة الانجليزية إذا كان كذلك فسوف ارفع لكي مرفق عن كيفية التعامل بالريجيستري .

----

وجدت رابط هنا

تم تعديل هذه المشاركة بواسطة mohfa في 27 يناير 2009 في 23:13

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#581
اقتباس
خت هبة بعد إذنك هل تحسينين اللغة الانجليزية إذا كان كذلك فسوف ارفع لكي مرفق عن كيفية التعامل بالريجيستري .

لا باس باذن الله استطيع الفهم

انا اسفة اتعبتك لكن قلبي لا يطاوعني ان استعمل شيئا من دون فهمه

تم تعديل هذه المشاركة بواسطة hbate_allah في 27 يناير 2009 في 23:13

#582
hbate_allah كتب:
لا باس باذن الله استطيع الفهم

انا اسفة اتعبتك لكن قلبي لا يطاوعني ان استعمل شيئا من دون فهمه

ونعم الطريقة .

هذه هي الطريقة الجيدة للفهم

اخوك محمد

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#583

الرابط روووووووووووعة اخ mohfa

انه يشرح بالتفصيل

لكن لو تكرمت و شرحت لي عمل هذا الكود و لن اسالك بعدها

	  procedure TLoginFrm.En_Dis_Btn;
var _Trim:String;
begin
_Trim:=Trim(PwdIn.Text);
OkBtn.Enabled:=Not(_Trim='');
end;

و ساسالك سؤال اظنه غبي لكن لا باس

هل يجب ان اضع _امام هذه الكلمة Trim

تم تعديل هذه المشاركة بواسطة hbate_allah في 27 يناير 2009 في 23:23

#584

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

الرابط

بالتوفيق إن شاء الله

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#585
زكيري عبد العالي كتب:
السلام عليكم

لم استطع قراة كل الردود لكن عندي ملاحظة , ان طريقة الرجيستري التي كنت اعمل بها سابقا الان ابغطها لانها بالنسبت لي طريقة خاطة لعم تخزين الباسورد افضل ان يكون ملف INI او XML مشفر او في جدول في القاعدة بتشفير ايضا

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

للتو قرات رد اخي عبد العالي .

نعم كلتا الطريقتين جيدة .

انا شخصيا احبذ التعامل مع الريجستري :

لماذا ؟ .

لانها الطريقة الاضمن في رائ لتجنب رسائل من الملف لايوجد , او The x File has been Altered ..... والخ .

وانا ارى ان اغلبية البرامج تحفظ حمايتها في الريجستري يكفيك ان الوندوز في حد ذاته يحفظ كلمات المرور في ال Sam في الريجستري وهذا إن لم يكن ال Active Directory مفعلة او عدم الإشتغال بها .

الحماية والله موضوع شائك ومعقد ولا توجد حماية 100 % .

ولكن هذا يرجع للمبرمج وطريقة تفكيره .

فمثلا نعرف انه من الغباء الكبير ان نظهر رسالة خطاء إذا كانت كلمة السر خاطئة وهذا هو الخطاء الكبير الذي يقع فيه المبرمج عند حماية برنامجه بكلمة سر او Serial Number .

هناك عدة طرق لحماية البرنامج بإستعمال الريجستري

منها تشفير المعلومات إستعمال المفاتيح من نوع Reg_DWORD وانت تعلم ماهو ال DWORD .

ايضا إضافية خاصية التاكد من وجود المفاتيح في الريجستري وكذلك حساب ال CRC لكل مفتاح .

توجد عدة طرق اخرى .

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

في الاخير :

لاتوجد حماية 100% مهما كانت الطريقة المستعملة في الحماية .

فهاهي اعتى منظومة في الحماية على الإطلاق والتي تستعملها شركة Sony والتي ظلت تتفاخر بها لسنين تم تخطيها مؤخرا .

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#586
اقتباس
فمثلا نعرف انه من الغباء الكبير ان نظهر رسالة خطاء إذا كانت كلمة السر خاطئة وهذا هو الخطاء الكبير الذي يقع فيه المبرمج عند حماية برنامجه بكلمة سر او Serial Number .

لماذا لا يجب ان نظهر رسالة ان كلمة السر خاطئة

#587
اقتباس
لماذا لا يجب ان نظهر رسالة ان كلمة السر خاطئة

اختي هبة لان الكراكر او سمه ماشئت سوف يبحث عن مكان الشرط الذي يؤدي إلى إظهار رسالة الخطاء الناتجة عن خطاء في إدخال كلمة السر او ال Serial Number فسوف يحلل برنامجك باي dissambler وسوف يقوم بشئ بسيط من عدة اشياء اخرى بسيطة وهو إظافة ال NOP او في الاسمبلي لاتقم بشئ او تخطى هذا الشرط والخ .

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#588

شكرا على الشرح

لقد سالتك لانني ساخذ بنصيحتك و لن استعمل هذه الرسائل بعد الان و ان سئلت لماذا

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

#589

اولا ياختي هبة إسئلي كما تشائين ولن نتعب في الإجابة .

فحتى انا او اي احد اخر كان ئسائل للتعلم .

سوف اضحكم قليلا ففي بدايتي مع البرمجة سالت استاذي بعد ان اعطينا تمرين صغير نقوم به في المنزل فانا من غبائي لانني كنت مازلت احبو ومازلت كذلك في البرمجة وضعت String في مكان Integer فكانت النتيجة دائما خطاء ولم اعرف لماذا ولما سالنا الاستاذا عن التمرين رايت ان كل زملائي اجابو صح إلا انا و اخر فلما طلب منى الاستاذا ورقة الإجابة ضحك عليا وقال باعلى صوته ياغبي الا تفرق بين ال String و ال Integer .

ومن ذلك الليوم اخذتها درسا .

ماذا اريد ان اقول لكي ياختي هبة وكل عضو جديد ان لانخجل من السؤال .

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#590

شكرا اخ محمد لقد اثلجت صدري كنت خائفة ان اثقلت عليكم باسئلتي

فهذا اول برنامج لي بالدلفي

#591

السلام عليكم

ارجو ا لا يكون قد فاتني الكثير

اقتباس
انا شخصيا احبذ التعامل مع الريجستري :

لماذا ؟ .

لانها الطريقة الاضمن في رائ لتجنب رسائل من الملف لايوجد , او The x File has been Altered ..... والخ .

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

ك Sql sever او اوركل

مخزن امين فعلا

لكن للمشاريع الصغيرة استعمل الريجستري او ملف Ini

اللهم علمنا ما ينفعنا وانفعنا بما علمتنا وانفع الناس بنا واغفر لنا وارحمنا

#592

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

#593

السلام عليكم جميعا

أعتذر عن الغياب الطويل , بسبب العمل

يبدوا أن أخي محمد استغل غيابي ليبدأ الشرح ,

مشكور أخي محمد . بارك الله بك

ماذا الان . علي ان أعود لشرح أخي محمد كي أفهمه , ولكن هل من مطلوب الان

#594
اقتباس
انا احبذ استخدام قاعدة البيانات كمخزن لكلمة المرور مع تشفيرها طبعا وعندما اقول قاعدة بيانات فانا اقصد قاعدة بيانات قوية في الامن

ك Sql sever او اوركل

مخزن امين فعلا

لكن للمشاريع الصغيرة استعمل الريجستري او ملف Ini

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

إلا في حالة واحدة وهي وجود Backup للملف .

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

اعطيك مثال على ذلك المكافي يخبئ اغلب حمايته في الريجستري فإن تم التلاعب بهذه المفاتيح فالبرنامج سوف يقوم بالإشتغال ولكن بالقيم الإفتراضية Default Factory Values ولكن هناك خصائص لن تشتغل وإنما يطلب منك الإتصال بال Support team وهناك تبداء الاسئلة من كيف ولماذا ومتى ..... الخ .

المهم كل مبرمج وكيف يري مايناسبه .

اقتباس
يبدوا أن أخي محمد استغل غيابي ليبدأ الشرح
:evil:

لاياخي طلال يمكنك ان تشرح اكثر فانا الان احاول ان انسق بين مشروعكم ومشروعي .

تم تعديل هذه المشاركة بواسطة mohfa في 28 يناير 2009 في 01:41

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#595

حسننأ أخي محمد لاتضحك كثيرا . لآنني أعدك إنني سأعوض مافاتني

والف شكر مرة ثانية

بالتوفيق لك في مشروعك أخي محمد

#596

في نموذج النقط هو لا يحسب المعدل العام

هل هو ناقص اي اضيفها ام هناك خاصية انا لا اعلمها ستضيفونها

#597
اقتباس
لآنني أعدك إنني سأعوض مافاتني

متاكد تمام التاكد من ذلك .

اخي طلال هل حملت المرفق .

هناك شئ خطير لم ينتبه له احد وهو انه إذا كانت ال Login Form الفورم الذي يطلب كلمة السر هو الاول فيمكن تخطيه بالظغط على زر ال Alt+F4 .

للتو إنتبهت له فكما قلت كانت الإظافة بطرقة سريعة .

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#598

نعم لقد حملته أخي محمد

ولكني لن أفتحة حتى اراجع الصفحات الاخيرة

اين وصلت بجدول النقاط أختي هبة الله . وماهو المطلوب الان

#599

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

انشاء كلمة مرور باستخدام INIFiles

طريقة سهلة ورغم قدمها الا انها مجدية لحد الان

دعونا نرى كيف يتم ذلك اضف الوحدة IniFiles للقسم uses اولا

 

procedure TForm1[color= #339933;].Button1Click[color= #009900;](Sender[color= #339933;]: TObject[color= #009900;])[color= #339933;];

[color= #000000; font-weight: bold;]Var PassW[color= #339933;]: TIniFile[color= #339933;];

begin

PassW[color= #339933;]:=TIniFile[color= #339933;].Create[color= #009900;]([color= #0000ff;]'Gestion.ini'[color= #009900;])[color= #339933;]; 

PassW[color= #339933;].WriteString[color= #009900;]([color= #0000ff;]'Preference'[color= #339933;],[color= #0000ff;]'Pass'[color= #339933;],Edit1[color= #339933;].Text[color= #009900;])[color= #339933;];

PassW[color= #339933;].Free[color= #339933;]; 

[color= #990000;]end[color= #339933;];

ثانيا التصر يح بالمتغييرات

في السطر رقم 3 قمنا بالتصريح بمتغيير PassW من النوع TIniFile

ثالثا وهو انشاء الملف الذي سيحمل كلمة المرور مثلما ننشاء مفتاح في الريجستري نفس المبدئ

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

رابعا وهو تمرير كلمة المرور الى الملف

وهو ماتم في السطر السادس

اخير التاكيد

الان وقد انشانا كلمة المرور علينا الان ان نعرف كيف نقوم بايجاد كلمة المرور ومقارنتها بالكلمة التي يدخلها المستخدم

 

procedure TForm1[color= #339933;].Button1Click[color= #009900;](Sender[color= #339933;]: TObject[color= #009900;])[color= #339933;];

[color= #000000; font-weight: bold;]Var PassW[color= #339933;]: TIniFile[color= #339933;];

passe[color= #339933;]:string[color= #339933;];  

begin

PassW[color= #339933;]:=TIniFile[color= #339933;].Create[color= #009900;]([color= #0000ff;]'Gestion.ini'[color= #009900;])[color= #339933;];   

passe[color= #339933;]:=PassW[color= #339933;].ReadString[color= #009900;]([color= #0000ff;]'Preference'[color= #339933;],[color= #0000ff;]'Pass'[color= #339933;],Edit1[color= #339933;].Text[color= #009900;])[color= #339933;];

PassW[color= #339933;].Free[color= #339933;];

[color= #b1b100;]if Edit1[color= #339933;].Text[color= #339933;]=passe then

begin

ShowMessage[color= #009900;]([color= #0000ff;]'كلمة المرور ص
581;يحة '[color= #009900;])

[color= #b1b100;]else

ShowMessage[color= #009900;]([color= #0000ff;]'كلمة المرور غ
610;ر صحيحة '[color= #009900;])[color= #339933;];

[color= #990000;]end[color= #339933;];

اولا التصريح بالمتغييرات وهو ماتم في السطر الثالث والرابع

المتغيير الاول PassW من النوع TIniFile

المتغيير الثاني passe من النوع string

وسياخذ المتغيير الثاني قيمة كلمة المرور المنشاة من قبل لنقارنها من بعد مع الكلمة التي سيدخلها المستعمل

في السطر السابع نقوم بفتح المف الذي قمنا بتسميه من قبل وهوgestion

في السطر الذي يليه اسناد القيمة التي يحملها الى المتغييرpasse

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

اما اذا كان خاطئة فسيرسل البرنامج رسالة تاكد ذلك

اتمنى ان اكون قد وفقت في الشرح وعذرا على الركاكة في كتابتي

واي استفسار انا موجود بما استطعت طبعا

وفقنا الله واياكم

تم تعديل هذه المشاركة بواسطة علي .ع في 28 يناير 2009 في 21:26

اللهم علمنا ما ينفعنا وانفعنا بما علمتنا وانفع الناس بنا واغفر لنا وارحمنا

#600

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

انا اسفة لم استطع الدخول قبل الان

سارى ما فاتني

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…