دروس
ما الفائدة من إستخدام هذا الأسلوب ؟

عقارية المدينة 6-12-1430هـ للاعلان جوال 0507445115 حراج سيارات 19-4-1431هـ
افضل و اقوى و احلى و اجمل موقع افلام و فيديو يوتيوب youtube على الاطلاق للاعلان جوال 0507445115 بنات الرياض سعوديات نسائي بناتي حريمي

تابع حالة الطقس في اكبر و اشهر مدن المملكة العربية السعودية | منتديات | مقاطع فيديو تحميل افلام موقع يوتيوب youtube العاب بنات hguhf fkhj | تحميل صور jpldg w,v | بلاك بيري | بنات السعودية | قصص بنات

احصائيات سريعة
اقسام على الموقع
دروس في أنظمة التشغيل | ماي سكيول - MySQL | لفيجوال بيسك - Visual Basic | المات لاب Matlab | اللينكس و اليونكس | الاسمبلي - ASSEMBLY | الاوتلوك - Outlook | البرمجة تحت اللنكس -Linux Programming | البرمجة تحت وندوز بواسطة دوال ال win API | البرمجة في بيئة الدوت نت .Net | التصمبم والرسوم | الدلفي - Delphi | الجافا - Java | السي - C | الصوت و الصورة | الوورد - Word | القسم العام للأوفيس | الكوبول - COBOL | control panel-ftp | اوراكل - Oracle | اكسل - Excel | تحميل الملفات | برامج متنوعة | برامج التصفح | برامج الحماية | برامج إنترنت | تعرّف على الويب | بوربوينت - Power Point | images | دروس : كمبيوتر وصيانة | دروس مجلة نيوك phpnuke | دروس مسنجر MSN - yahoo - Gmail | دروس منتديات vBulletin | دروس الجوالات والهواتف | دروس السي بنل cpanel | دروس اكسس access | دروس بيونت شوب برو - point shop pro | دروس برمجة php - mysql | دروس برامج منوعة software | دروس ثري دي ماكس 3D max | دروس تطوير المواقع والمنتديات | دروس جافا سكريبت JavaScript | دروس دريم ويفر DreamWeaver | دروس شبكات Networks | دروس سويش - swish | دروس فلاش - flash | دروس فلاش mx | دروس فى نظام الوندوز WINDOWS | دروس فىالباسكال - Pascal | دروس فيجوال بيسك Visual Basic | دروس فرونت بيج - frontpage | دروس فوتوشوب photoshop | دروس هكر hacker crack virus | سي ++ | سي شارب - #C | فيجوال سي ++ - ++ Visual C | قسم البرمجة العام | دروس فى لغة HTML
البحث في المواد

اكثر المحتويات زيارة
الدوال في الاكسل (14,836 مشاهده)
تعريف الفن التشكيلي: (14,801 مشاهده)
ربط قاعدة بيانات أكسس (MS Access) مع برنامج الفيجوال بيسك بطريقة(ODBC) (10,761 مشاهده)
دروس في الأوفيس الأكسس - Access0- (10,234 مشاهده)
أنواع العلاقات وطريقة الربط بين الجداول. (10,165 مشاهده)
شرح طريقة استعمال الأوتلوك مع بريد الهوتميل (7,341 مشاهده)
تغيير لغة واجهة التطبيق من عربي الى انجليزي وبالعكس لـ Windows-based applications (7,336 مشاهده)
ما هي شبكة الانترنت: (6,452 مشاهده)
الدرس الثالث : بعض تطبيقات الدوال في اكسل (6,207 مشاهده)
تعريف الاستعلام وطريقة عرضه في آكسس، أنواع الاستعلامات، نافذة تحديد الاستعلام! (6,189 مشاهده)
اضافه صوت ونص لخلفيه في باور بوينت (6,181 مشاهده)
المنظور الفوتوغرافي Perspective Drawing (6,128 مشاهده)
ما هو برنامج الاكسل -00 (5,994 مشاهده)
أنشئ قاعدة بياناتك التي ستستند إليها في تعلم طريقة ربط الجداول والاستعلامات. (5,752 مشاهده)
الدرس الثاني : عمل خلفيات ملونة لشرائح (5,534 مشاهده)
نظام التشغيل (Windows) (5,526 مشاهده)
الدرس الأول : عمل شريحة في البوربوينت (5,431 مشاهده)
الدرس الثاني: بعض الحيل لتسهيل برنامج اكسل (5,426 مشاهده)
لإجراء العمليات الحسابية (4,946 مشاهده)
مقدمة عامة حول الاكسل وحيل خاصة بالاكسل0-- (4,914 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس .0--- (4,870 مشاهده)
كيفية تنصيب Turbo C++ وتشغيل برنامج بلغة السي عليه!- (4,829 مشاهده)
vالدرس الأول : عمل شريحة في البوربوينت (4,819 مشاهده)
الدرس الثالث: كيفية عمل مراحل انتقالية للشرائح (4,810 مشاهده)
اضافة الحركات للصور والنصوص (4,744 مشاهده)
جديد مواد مع عشوائي
التحويل التلقائي للحروف ل- ل- ه إلى اسم الجلالة0---- (2,360 مشاهده)
النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0---النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0--- (1,776 مشاهده)
ضبط خيارات اللغة فى الـ Microsoft Word0--- (2,190 مشاهده)
استخدام لوحة المفاتيح في الـ Word0---- (2,383 مشاهده)
إضافة كلمة سر إلي ملفات الورد دون استخدام برامج0--- (2,320 مشاهده)
دمج المراسلات0-- (1,428 مشاهده)
وضع صورة كخلفية للنص0-- (1,870 مشاهده)
السماح للمستخدمين بتعديل أجزاء من ملف وورد محمي (Word2003)0--- (1,447 مشاهده)
كتابة الأرقام الكسرية ورموز المعادلات0-- (2,057 مشاهده)
درس كامل عن الدمج السهل من لوحة المفاتيح ف0-ي برنامج الـ Word (1,612 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس .0--- (4,870 مشاهده)
دورة الأكسيس : الدرس الرابع : العلاقات0---- (2,661 مشاهده)
أساسيات في Access0--0 (2,376 مشاهده)
تصميم تقرير لطباعة البيانات0---- (2,233 مشاهده)
تصميم نموذج استعراض البيانات‏0--تصميم نموذج استعراض البيانات‏0-- (1,993 مشاهده)
تصميم نموذج إدخال‎ ‎البيانات0--- (2,240 مشاهده)
إنشاء قوائم خاصة باستخدام الماكرو(1)0-- (1,928 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (2)0-- (1,440 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (1)0- (1,510 مشاهده)
استعلامات SQL في Access - تعديل الجداول وإضافة الحقول0- (2,102 مشاهده)
استعلامات SQL في Access - تحديث البيانات الجدولية0-- (1,713 مشاهده)
الاستعلامات الإجرائية -4 (استعلام الحذف)0--- (1,169 مشاهده)
الاستعلامات الإجرائية -2 (استعلام الإلحاق)0--- (1,315 مشاهده)
تصميم تقرير لطباعة الإجمالي0--- (1,420 مشاهده)
استعلامات التحديد Select Query مع أمثله (1)0--- (1,876 مشاهده)
دروس > دروس برمجة php - mysql > ما الفائدة من إستخدام هذا الأسلوب ؟
اعلانات في الموقع على جميع الصفحات

ما الفائدة من إستخدام هذا الأسلوب ؟

حماية مناطق بنظام الجلسات session




بسم الله الرحمن الرحيم

 

أخواني وأخواتي أعضاء وزوار الموسوعة العربية للكمبيوتر والإنترنت تحية طيبة وبعد .


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


أولا : ما الفائدة من إستخدام هذا الأسلوب ؟


الفائدة كبيرة جدا تخيل أنك تريد حماية لوحة تحكم موقعك او منطقة خاصة بالأعضاء وتتكون هذه المناطق من أكثر من ملف وتريد حمايتهم فما هو اسلوبك انا متأكد انه لن يكون بوضع طلب لإسم مستخدم وكلمة مرور في كل ملف من هذه الملفات !


ثانيا : هل هو آمن وكافي ؟


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


ثالثا : الطريقة والتنفيذ


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


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


function initlogin($header) {
   print("<br><br>") ;
   print("<table align=center width=50% bgcolor=#C7933F border=1 bordercolor=#CCCCCC>") ;
   print("<tr><td align=center class=detailstyle>$header</td></tr>") ;
   print("<tr><td align=center>") ;
   print("<form action=index.php method=post>") ;
   print(" <table align=center width=100% bgcolor=#C7933F border=1 bordercolor=#CCCCCC>") ;


   print("  <tr><td align=right class=detailstyle>ÃÏÎá ÇÓã ÇáãÓÊÎÏã</td>") ;
   print("  <td align=right><input dir=\"ltr\" class=enterstyle type=text name=username size=15></td>") ;
   print("  </tr>") ;


   print("  <tr><td align=right class=detailstyle>ÃÏÎá ßáãÉ ÇáãÑæÑ</td>") ;
   print("  <td align=right><input dir=\"ltr\" class=enterstyle type=password name=password size=15></td>") ;
   print("  </tr>") ;
  
   print("<tr><td colspan=2 align=center><input class=enterstyle type=submit value=\"ÏÎæá\"></td></tr>") ;  


   print("  </table>") ;
   print("  </form>") ;
   print("  </td></tr>") ;
   print("  </table>") ;
}


لاحظ عبارة header اين موقعها في الاعلى أي انها محددة كقيمة للدالة يمكننا التحكم بها من ملفات أخرى مرتبطة بهذا الملف بعد عمل هذا التطبيق قم بحفظه باسم وليكن login.php


ملاحظة هامة جدا جدا : إذا انتبهت إلى form action ستجد انه متوجه إلى صفحة الـ index أي الصفحة الرئيسة ومن هناك يأخذ الاوامر علما انه لا يوجد اي شيء هناك له علاقة بالموضوع كما سنرى لاحقا ، هكذا نكون انهينا الجزء الأول ...


ننتقل للجزء الثاني والاهم وهو المكان الذي يدير كافة هذه المعلومات انشئ ملف جديد وليكن اسمه ln.php في اول هذا المل سنطلب البدء في تسجيل الجلسة session عن طريق عبارة أو الامر


()session_start


الان سنطلب من هذا الملف أن يتأكد من وجود الدالة Function المسؤولة عن موضوع تسجيل الدخول كنموذج الذي قمنا بعمله في الأعلى قبل قليل وانا اسميت هذه الدالة initlogin وهذا الامر هو المسؤول عن التنفيذ


if( !function_exists("initlogin") ){
  include("login.php") ;
 }


هنا يسأل البرنامج عن هذه الدالة إن كانت موجودة ويستدعي الملف المسؤول عن تسجيل الدخول الذي أنشئناه قبل قليل وكان اسمه login.php ومن ثما يبدأ في عملية المعالجة ويبدأ بالفحص إذا كانت الجلسة مسجلة فيسمح بالدخول وإذا لا فيطلب اسم المستخدم وكلمة المرور (طريقة التحضير) ...


اولا نقوم بوضع جملة if الشرطية ونحدد قيمها بطلب الجلسة المسجلة عن طريق السطور التالية


if( session_is_registered("loggedinm") && ($action == 'logout') ){
  session_unregister("loggedinm") ;
  session_destroy() ;
 }


هنا يتأكد من ان الجلسة مسجلة وفي حال كانت مسجلة يعطيها القيمة loggedinm أما المتغير action هنا تم وضعه ليكن إمكانية لك حتى تضع لينك في برنامجك لتسجيل الخروج وحتى يترجم محاولة الدخول الخاطئ او عدم الدخول من قبل على اساس انها محاولة تسجيل خروج ، وباقي السطور أيضا هي انه في حال كانت الجلسة غير مسجلة ان يعيد نفس القيمة لأننا سنعتمد عليها في جميع أنحاء عملنا هذا وبعدها ينفذ عملية مسح الجلسة او تدميرها كليا ،


الان عملية تسجيل الدخول : ساضع السطور ثم ساشرحها


if( ! session_is_registered('loggedinm') ){
   if(! $HTTP_POST_VARS ){
     initlogin("تسجيل دخول المدير") ;
   }


الان سيتأكد من ان الجلسة غير مسجلة والذي يحدد كلمة (غير ) علامة التعجب التي تسبق الشرط وفي حال كانت غير مسجلة سيعيد لنا قيمة الـ loggedinm على انها غير مسجلة كما طلبنا في تسلسل الاوامر في الاعلى ومن ثم سيتأكد من عدم تسجيل او دخول اي متغيرات عن طريق المتغير http_post_vars وبعدها سيضع قيمة "تسجيل دخول المدير " للدالة التي قمنا بعملها في البداية والتي هي initlogin وعندما تعود هذه القيمة للملف login.php ستطبع في الاعلى في المكان الذي تحدد له المتغير header كل ما تقدم ذكره كان في حالة عدم تسجيل الدخول بعد الأن داخل الجملة الشرطية الاحقة else نقوم بتحديد متغيرات الدخول وتعليماته وإليك السطور ثم الشرح


else{
    if( isset($HTTP_POST_VARS['username']) && isset($HTTP_POST_VARS['password']) ){
     if( ($username == 'user') && ($password == 'pass') ){
    $loggedinm = $HTTP_POST_VARS['username'] ;
    session_register('loggedinm') ;
   }


هنا بعد البدأ في الشرط else قمنا بتحديد خانت username وهذا الإسم هو نفسه اسم الفراغ المسؤول عن اسم المستخدم في فورم تسجيل الدخول واعدناه للقيمة http_post_vars وطلبنا التحقق أيضا من خانت password التي ينطبق عليها نفس عمليات الـ username ، الان في السطر الثاني نحدد قيم لإسم المستخدم وكلمة المرور وهذا هو الجزء السهل من الموضوع اي ان المسالة بكل بساطة ضع اسم المستخدم بدل كلمة user وكلمة المرور بدل كلمة pass وتنتهي المسالة ، الأن في هذه الخطوة إذا كانت المعطيات صحيحة سيتم تسجيل جلسة حسب اسم المستخدم وسيعيد لنا قيمة الـ loggedinm .


الان في حالة كانت المعطيات غير صحيحة سيكون لدينا سطر واحد ضمن الشرط else لوضع الجملة وهو :


else{
    initlogin("تسجيل دخول خاطئ الرجاء المحاولة من جديد") ;
   }


الأن الخطوة الماقبل الأخيرة وهي البداية تماماً أنظر السطور


else{
   session_unset() ;
   session_destroy() ;
   initlogin("تسجيل دخول المدير") ;


هنا الأمر هو إذا كانت الجلسة غير مسجلة أو ممسوحة او مدمرة يعرض النتيجة صفر وهي "تسجيل دخول المدير"


الان الخطوة ألخيرة فعلا


في هذه العملية وبعد حفظ هذه المجموعة الصغيرة من الأوامر تبدأ عملية زرع سطور في الصفحات المراد حمايتها والسطور بكل بساطة هي كالتالي :


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


وإستخدام السطرين التاليين قبل أي عملية او نموذج أو فورم اي في بداية الصفحة


include("ln.php") ;
if( session_is_registered("loggedinm") ){
 


هنا نطلب الإتصال بالملف الذي أنشئناه قبل قليل لنتأكد ان قيمة الـ loggedinm مسجلة في الجلسة وفي حال كانت الجلسة مسجلة فهذا يعني أنها مسجلة باسم المدير أو حامل التصريح فقط فيسمح لك بمتاعبة قرائة الملف او تنفيذ محتوياته هذا التعديل الوحيد الواجب تنفيذه في جميع الملفات وبهذا تم بحمد الله ...


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


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








درس ما الفائدة من إستخدام هذا الأسلوب ؟

أضف هذه المادة في موقعك:
مواد مشابهة:
الدرس الاول: مقدمه ومفاهيم عن لغة PHP الدرس الاول: مقدمه ومفاهيم عن لغة PHP
الدرس الاول: مقدمه ومفاهيم عن لغة PHP
(مرات المشاهدة: 2,558 مرات)
الدرس الثاني والثلاثون: معالجة الاخطاء ونهاية المطاف الدرس الثاني والثلاثون: معالجة الاخطاء ونهاية المطاف
الدرس الثاني والثلاثون: معالجة الاخطاء ونهاية المطاف
(مرات المشاهدة: 719 مرات)
الجمل الشرطية الجمل الشرطية
الجمل الشرطية
(مرات المشاهدة: 1,210 مرات)
كيف تصنع دالة خاصة بك كيف تصنع دالة خاصة بك
كيف تصنع دالة خاصة بك
(مرات المشاهدة: 657 مرات)
برمج بنفسك .... عداد زوار (1) برمج بنفسك .... عداد زوار (1)
برمج بنفسك .... عداد زوار (1)
(مرات المشاهدة: 1,560 مرات)
الدرس الثامن عشر: التحكم في برمجة الكائنات الدرس الثامن عشر: التحكم في برمجة الكائنات
الدرس الثامن عشر: التحكم في برمجة الكائنات
(مرات المشاهدة: 637 مرات)
النماذج ووظائفها وبعض التطبيقات عليها النماذج ووظائفها وبعض التطبيقات عليها
النماذج ووظائفها وبعض التطبيقات عليها
(مرات المشاهدة: 858 مرات)
الدرس الثامن: النماذج وانواع ارسال البيانات الدرس الثامن: النماذج وانواع ارسال البيانات
الدرس الثامن: النماذج وانواع ارسال البيانات
(مرات المشاهدة: 1,422 مرات)
مشروع إنشاء برنامج التعليقات باستخدام PHP مشروع إنشاء برنامج التعليقات باستخدام PHP
مشروع إنشاء برنامج التعليقات باستخدام PHP
(مرات المشاهدة: 1,175 مرات)
الدرس الثلاثون: مكتبة الصور في لغة بي اتش بي الدرس الثلاثون: مكتبة الصور في لغة بي اتش بي
الدرس الثلاثون: مكتبة الصور في لغة بي اتش بي
(مرات المشاهدة: 1,101 مرات)
About
جميع الحقوق في هذا الموقع محفوظة وكل المواد على الاقسام ملك لاصحابها :Copyright © All rights reserved