منتديات القناص ابوهاجوس لهكرالنيمبوز وبرامج الاختراق
مرحبا بكم في منتدىات القناص ابوهاجوس لهكر النيمبوز وبرامج الاختراق
aboohagos@nimbuzz.com
منتديات القناص ابوهاجوس لهكرالنيمبوز وبرامج الاختراق
مرحبا بكم في منتدىات القناص ابوهاجوس لهكر النيمبوز وبرامج الاختراق
aboohagos@nimbuzz.com
منتديات القناص ابوهاجوس لهكرالنيمبوز وبرامج الاختراق
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

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

(aboohagos@nimbuzz.com)على من سجل ولم يستطيع الدخول ان ينتظر لين اقوم بتنشيط حسابه(aboohagos@nimbuzz.com)
 
الرئيسيةأحدث الصورالتسجيلدخول
بحـث
 
 

نتائج البحث
 
Rechercher بحث متقدم
سحابة الكلمات الدلالية
code source mini تخمين Facebook
المواضيع الأخيرة
» مشروع بوت يحتوي على فيسات النيم الاصليه Source code bot aboohagos@nimbuzz.com
 الدرس العاشر في لغة php  Emptyالخميس فبراير 11, 2021 9:49 am من طرف ابوهاجوس

» مشروع بان بوت مع الرسايل التلقايى+التحدث مع مضافينك لغة Visual Basic 2010
 الدرس العاشر في لغة php  Emptyالخميس فبراير 11, 2021 9:48 am من طرف ابوهاجوس

» Compression(Visual Basic 2008)
 الدرس العاشر في لغة php  Emptyالخميس فبراير 11, 2021 9:47 am من طرف ابوهاجوس

» مشروع بان بوت ترحيب
 الدرس العاشر في لغة php  Emptyالخميس فبراير 11, 2021 9:46 am من طرف ابوهاجوس

» مشروع مخمن الباس بلغة Visual Basic 2010
 الدرس العاشر في لغة php  Emptyالأحد نوفمبر 08, 2020 7:59 am من طرف kimo.herolove1

» مشروع فلود اضافات ب نكات بلغة Visual C# 2010
 الدرس العاشر في لغة php  Emptyالأحد نوفمبر 08, 2020 7:03 am من طرف kimo.herolove1

» Reflector لفك البرامج المصنوعه بالفجول بيسك دوت نت
 الدرس العاشر في لغة php  Emptyالأحد نوفمبر 08, 2020 6:54 am من طرف kimo.herolove1

» Source Code DrawingAttributes (abohagooss)( Visual Basic 2008)
 الدرس العاشر في لغة php  Emptyالأربعاء سبتمبر 02, 2020 2:28 pm من طرف kimo.herolove1

» مشروع التحكم في الديسك توب
 الدرس العاشر في لغة php  Emptyالأربعاء سبتمبر 02, 2020 2:27 pm من طرف kimo.herolove1

مايو 2024
الأحدالإثنينالثلاثاءالأربعاءالخميسالجمعةالسبت
   1234
567891011
12131415161718
19202122232425
262728293031 
اليوميةاليومية
كل ماتطلبوه موجود
كل جديد وحصريا موجود لدينا
اي استفسار ضيف اميلاتي
aboohagos@nimbuzz.com
aboohagos@nimbuzz.com
أفضل 10 أعضاء في هذا المنتدى
Admin
 الدرس العاشر في لغة php  I_vote_rcap الدرس العاشر في لغة php  Empty الدرس العاشر في لغة php  Empty 
ابوهاجوس
 الدرس العاشر في لغة php  I_vote_rcap الدرس العاشر في لغة php  Empty الدرس العاشر في لغة php  Empty 
هكراووي
 الدرس العاشر في لغة php  I_vote_rcap الدرس العاشر في لغة php  Empty الدرس العاشر في لغة php  Empty 
صدام الشرعبي
 الدرس العاشر في لغة php  I_vote_rcap الدرس العاشر في لغة php  Empty الدرس العاشر في لغة php  Empty 
kimo.herolove
 الدرس العاشر في لغة php  I_vote_rcap الدرس العاشر في لغة php  Empty الدرس العاشر في لغة php  Empty 
majed5160
 الدرس العاشر في لغة php  I_vote_rcap الدرس العاشر في لغة php  Empty الدرس العاشر في لغة php  Empty 
jemlove
 الدرس العاشر في لغة php  I_vote_rcap الدرس العاشر في لغة php  Empty الدرس العاشر في لغة php  Empty 
brainiac123
 الدرس العاشر في لغة php  I_vote_rcap الدرس العاشر في لغة php  Empty الدرس العاشر في لغة php  Empty 
zezozezoalhlo
 الدرس العاشر في لغة php  I_vote_rcap الدرس العاشر في لغة php  Empty الدرس العاشر في لغة php  Empty 
kimo.herolove1
 الدرس العاشر في لغة php  I_vote_rcap الدرس العاشر في لغة php  Empty الدرس العاشر في لغة php  Empty 
أفضل 10 فاتحي مواضيع
Admin
 الدرس العاشر في لغة php  I_vote_rcap الدرس العاشر في لغة php  Empty الدرس العاشر في لغة php  Empty 
ابوهاجوس
 الدرس العاشر في لغة php  I_vote_rcap الدرس العاشر في لغة php  Empty الدرس العاشر في لغة php  Empty 
هكراووي
 الدرس العاشر في لغة php  I_vote_rcap الدرس العاشر في لغة php  Empty الدرس العاشر في لغة php  Empty 
صدام الشرعبي
 الدرس العاشر في لغة php  I_vote_rcap الدرس العاشر في لغة php  Empty الدرس العاشر في لغة php  Empty 
المتنبي
 الدرس العاشر في لغة php  I_vote_rcap الدرس العاشر في لغة php  Empty الدرس العاشر في لغة php  Empty 
عآزف$اوتار$الحزن
 الدرس العاشر في لغة php  I_vote_rcap الدرس العاشر في لغة php  Empty الدرس العاشر في لغة php  Empty 
ghazi
 الدرس العاشر في لغة php  I_vote_rcap الدرس العاشر في لغة php  Empty الدرس العاشر في لغة php  Empty 
حسينم
 الدرس العاشر في لغة php  I_vote_rcap الدرس العاشر في لغة php  Empty الدرس العاشر في لغة php  Empty 
alzeer-libya
 الدرس العاشر في لغة php  I_vote_rcap الدرس العاشر في لغة php  Empty الدرس العاشر في لغة php  Empty 
وليدالعراقي
 الدرس العاشر في لغة php  I_vote_rcap الدرس العاشر في لغة php  Empty الدرس العاشر في لغة php  Empty 
ازرار التصفُّح
 البوابة
 الرئيسية
 قائمة الاعضاء
 البيانات الشخصية
 س .و .ج
 بحـث
المواضيع الأكثر نشاطاً
الاصدار الرابع من برنامج التخمين بتاريخ11-5-2013
مشروع مخمن الباس بلغة Visual Basic 2010
Source Code Flood Room_aboohagos@nimbuzz.com.rar تم التعديل على مشروع فلود روم يقوم بفصل المستخدمين لغة (Visual Basic 2008)
تم تحديث صانع النكات واضافة قسم لتغير كلمة المرور بتاريخ31-5-2013
مشروع صانع نكات الفلود Source Code-ID Maker -
مشروع بان بوت مع الرسايل التلقايى+التحدث مع مضافينك لغة Visual Basic 2010
Source Code Bot contest for Roman-aboohagos@nimbuzz.com مشروع بوت ابوهاجوس المتكامل
مشروع تخمين النكات شغال Source Code Cracker_ abohagooss@nimbuzz.com
استرجاع النكات المسروقة+والمحروقه بتاريخ5-6-2013
اخطر برنامج فلود في تاريخ النيمبوز فلود روم+خاص+اضافات بتاريخ26-4-2013

 

  الدرس العاشر في لغة php

اذهب الى الأسفل 
كاتب الموضوعرسالة
Admin
Admin
Admin


عدد المساهمات : 2035
نقاط : 5633
السٌّمعَة : 11
تاريخ التسجيل : 16/05/2012
العمر : 38

 الدرس العاشر في لغة php  Empty
مُساهمةموضوع: الدرس العاشر في لغة php     الدرس العاشر في لغة php  Emptyالسبت يونيو 30, 2012 1:19 pm


بدايتك الى الـsession



الـ session هي عبارة عن تقنية للترابط مع المستخدم وهي موجودة ضمن الـPHP4 ولم تكن موجودة ضمن الإصدارات التي قبله بل كان يجب أن تقوم بتركيب مكتبة لكي تستطيع استخدام هذه التقنية ، يعتمد فهمنا للـsession على فهمنا للكوكيز وكيفية استعمالها ولقد تكلمنا عن الكوكيز بشكل جيد في الدرس السابق ، يستخدم الـsession لعمل ميكانيكية تواصل بين المستخدم والسيرفر ، فلقد قلنا أن الـhttp لا يوفر لنا ميكانيكية لعمل تواصل ، فإذا طلب المستخدم صفحة من السيرفر فإن السيرفر يقوم بإعطائه ما أراد وينتهي عند ذلك فلا يعرف إن كان هو نفس المستخدم أو ليس هو ... لأجل ذلك تم انشاء تقنية الـsession لأجل عمل تقنية تواصل بين المستخدم والموقع ، فبإستطاعتك مثلاً أن تقوم بتحديد عدد زيارات مستخدم معين لصفحتك ليوم واحد أو لأسبوع أو لمدة معينة من الوقت .... أو يمكنك عمل متجر إلكتروني بسيط يستطيع المستخدم شراء عدة أشياء دفعة واحدة من الموقع ويكون على تواصل بينه وبين الموقع عندما يقوم بإضافة مشترى إلي سلة التسوق أو حذف مشتريات.



قبل أن أتكلم عن كيفية استخدام الـSession وإعطاء بعض الأمثلة البسيطة ، سأقوم بالتكلم عن كيفية إعداد الـsession مع الـPHP .



اعدادات الـsession في الـPHP

لكي تستطيع التعامل مع الـsession بشكل جيد يجب عليك أن تتعرف على بعض الإعدادات التي في ملف الـphp.ini

عندما تفتح الملف ستجد قسماً خاصاً فيه بالـsession هناك حوالى 19 إعداد ولكن لن نتطرق إليها كلها بل سنتكلم عن الأساسية والمهمة منها فقط كبداية لنا للتعرف على الـsession وكيفية عمله .



اعداد طريقة التخزين
كود PHP:
session.save_handler (files | mm | user)



ستجد هذه العبارة مكتوبة في الملف كالتالى بشكل افتراضي :
كود PHP:
session.save_handler = files

وهذا الإعداد يقوم بتحديد طريقة التخزين للـsession وهناك ثلاث حالات للتخزين :



1 - التخزين في ملفات عادية على السيرفر :
كود PHP:
session.save_handler = files

2 - التخزين على ذاكرة السيرفر :
كود PHP:
session.save_handler = mm

3 - التخزين بطريقة أخري معرفة ومعينة من قبل المستخدم مثل التخزين في قواعد البيانات وهذا ما سوف نقوم بالتفصيل عنه بعد الكلام عن قواعد البيانات :
كود PHP:
session.save_handler = user

يجب أن تأخذ في اعتبارك عدد الملفات التي سيقوم الـsession بتخزينها عند استخدامك للأعداد الأول والإفتراضي خاصة عندما يكون عدد الزوار بالمئات أو الآلاف .



قد يكون استعمال الذاكرة أسرع ولكن المشكلة أنه من السهل مسح البيانات منها ببساطة .



الطريقة الثالثة قد تكون أكثر الطرق مرونة ، ولكنها معقدة وصعبة جداً ، وهي تعطيك مرونة لتخزين البيانات في أي وسائط مدعومة من قبل الـPHP مثل قواعد بيانات mysql و oracle .



الذي افترضه الآن أنك قمت بوضع قيمة هذه الخاصية إلى files















إعداد مكان التخزين
كود PHP:
session.save_path (path/to/directory)

هذه الخاصية مفيدة إذا كنت قد ضبط الإعداد السابق إلى files

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



الإنشاء التلقائي للـsession
كود PHP:
session.auto_start (0 | 1)

هذا الإعداد يقوم بتحديد إذا ما كان الـsession سيتم إنشاؤه تلقائياً عند كل زيارة للموقع أو لأي صفحة من صفحاته بدون إدراج كود الـsession في كل صفحة ... وعلى ذلك فإنك تقوم بوضع القيمة إلى (1) إذا أردت ذلك .

وعلى إفتراض أنك لا تحتاج إلى أن تجعل الـPHP يقوم بعمل session لكل صفحة تلقائياً ومن غير طلب فستقوم بوضع قيمة هذا الإعداد الى (0)








الـSID

عندما يقوم الزائر بزيارة صفحتك فإن الـsession يستطيع تتبع هذا الزائر وعدد المرات التي قام فيه الزائر بالدخول لليوم الواحد ، يقوم الـPHP بعمل SID (session identefier) أو رقم معرف تلقائي بشكل افتراضي عندما تقوم بطلب إنشاء session بالزائر ، وكل رقم معرف يختلف عن الآخر تماماً ، إن رقم المعرف الذي ينشئه الـPHP شبيه للشكل التالى :


كود PHP:
fc94ad8b1ee49ef79c713ee98ac1fcc4

هناك طريقتين يستطيع بها الـPHP متابعة الـSID للمستخدم :

1 - عن طريق المتابعة والتخزين بتسلسل في الكوكيز .

2 - عن طريق اتباع رقم المعرف بعنوان الصفحة في الانترنت .



سنأخذ أمثلة عن كلا الطريقتين :



1 - استخدام الكوكيز

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

خذ في اعتبارك أن بعض المتصفحات لا تسمح بأن يزيد حجم الكوكيز عن 5 كيلوبايت .



هناك بعض الإعدادات البسيطة في ملف php.ini التي يجب معرفة معلومات عنها قبل البدء باستخدام الـsession مع الكوكيز :
كود PHP:
session.use_cookies (0 | 1)

هذه الخاصية تحدد ماذا كان يمكنك استخدام الكوكيز مع الـsession أو لا وعند وضع القيمة (0) فهذا يمنعك من استخدام الكوكيز مع الـ(session) وأما اذا كانت قيمته (1) فهذا يسمح باستخدام الكوكيز مع الـsession


كود PHP:
session.name (Default: PHPSESSID)

هذا الإعداد يقوم بتحديد اسم الكوكيز الذي سيحتفظ برقم المعرف (SID) والإعداد الافتراضي هو PHPSESSID ولن اقوم بتغيير هذا الإعداد لكي تستطيع فهم المثال الذي سأطرحه بعد قليل


كود PHP:
session.cookie_lifetime (Default: 0)

يقوم هذا الإعداد بتحديد المدة التي سيبقي فيها الكوكيز الذي يحتفظ بقيمة الـ(SID) والإعداد الافتراضي هو صفر ، أي أنه سيتم مسح الكوكيز تلقائياً بعد اغلاق المستخدم لنافذة المتصفح مباشرة


كود PHP:
session.cookie_path (Default: /)

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



كود PHP:
session.cookie_domain (Default: null)

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



ضع في اعتبارك انه اذا كانت قيمه الاعداد (session.use_cookies) تساوي واحد فان لا داعي لاستدعاء الدالة set_cookie() لإعداد الكوكيز بل سيتم اعدادها تلقائياً بواسطة الـPHP



2 - الإضافةأوالكتابةإلى عنوان الصفحة

إن إضافة عنوان الـSID إلى عنوان الصفحة يعتبر من الأشياء البشعة جداً رغم أن طريقته سهلة ومفيدة في حالة ما إذا كان الكوكيز غير مدعوم في المتصفح بشكل جيد

مثال :
كود PHP:
<a href="configure.php?<?=SID?>">Go to the configuration page</a>

بهذه الطريقة نقوم بإضافة المتغير المرجعي SID الذي سيقوم بإعطاء رقم معرف للمستخدم .



متابعة الـsession

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

سكربت يقوم بانشاء وتسجيل متغير session


كود PHP:
<?

session_start();
session_register("zx");
session_register("co");
$zx=10;
$co++;
echo 'مرحبا بك في موقعنا أيها الزائر الكريم '."<br>";

echo "عدد زياراتك لهذه الصفحة=". $co ;
echo "<br>";
echo '<a href="php2.php">الصفحة الثانية</a>';
?>

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


متغير الجلسة هو الـ(session-variable) أو متغير الـsession أو سمه ما شئت .



الشرح

يقوم هذا السكربت في البداية بإنشاء متغير اسمه (zx) ومتغير اسمه (co) وقمنا بإعطاء القيمة (10) للمتغير (zx) وقمنا بزيادة القيمة الموجودة (وهي الصفر) في (co) بواحد وكتبنا مرحبا بك ايها الزائر الكريم في موقعنا ، ثم قلنا له إن عدد زياراتك لهذه الصفحة هي قيمة المتغير( co ) ثم اعطيناه رابط للصفحة الثانية .

في الواقع إن هذه المتغيرات وقيمها يتم الاحتفاظ بها في كوكيز له اسم خاص قمنا بتحديده سابقاً من ملف PHP.ini ، وهذا الكوكيز يحتفظ بقيمة الـSID للـsession .



نحن لا نقوم بإخبار الـPHP أين سيحتفظ بقيمة المتغيرات لأننا بدأنا بكلمة الـ:
كود PHP:
session_start();

وعلى هذا فإن الـPHP سيفهم أنه سيقوم بتخزين القيمة في الكوكيز الخاص بالـsession .

قمنا بجعل المتغير co كعداد بسيط لعدد المرات التي سوف نقوم بها يزيارة الصفحة فعند عمل تحديث للصفحة سيتم زيادة العداد بمقدار واحد
كود PHP:
$c++;

وطبعاً قبل زيادة العداد بقيمة واحد فإنه يتم حساب القيمة السابقة للمتغير عند إنشاءه تلقائياً ... ومن ثم يتم الزيادة وبعد ذلك طباعة القيمة .

كتابة رقم الـSID

اكتب الآن الكود التالي واحفظه باسم php2.php
كود PHP:
<?

session_start();
echo $PHPSESSID ."<br>";
echo $zx;
?>

في هذه الصفحة نقوم بطباعة قيمة الـSID وذلك بطباعة قيمه المتغير $PHPSESSID (الذي هو اسم الكوكيز الخاصة بالـsession ) .

بعد ذلك قمنا في النهاية بطباعة قيمة المتغير $zx لكي ألفت نظرك بأن الكوكيز ما زال يحتفظ بها ولم يفقدها لأننا قد حددنا الإعداد في ملف php.ini الخاص بوقت الكوكيز الـ 3600 أي لمده ساعة ثم بعد تلك الساعة سيتم مسح الكوكيز ولن يمكنك استرجاع قيمة أي متغير :
كود PHP:
session.cookie_lifetime = 3600

واضف إلى معلوماتك أنه لا يمكنك قراءة القيم للكوكيز الخاصة بالـsession إلا عن طريق إضافه الأمر
كود PHP:
session_start();

يجب أن تبدأ بهذا الأمر دائماً إذا أردت قراءة قيم المتغيرات التي يحتفظ بها الكوكيز الخاص بالـsession .



مسح متغير من الـsession

كل ما عليك فعله هو استخدام هذه الدالة :
كود PHP:
session_unregister(variable name);

تقوم بوضع اسم المتغير في مكان الـ(variable name)

مثال :
كود PHP:
session_unregister(“brn”);



سيقوم هذا الأمر بمسح المتغير (brn) من الـكوكيز الخاصة بالـ(session)



قراءة قيم المتغيرات في الـكوكيز الخاصة بالـsession

كل ما عليك فعله هو استخدام الدالة :
كود PHP:
session_encode();



مثال :
كود PHP:
<?session_start();session_register("bgcolor");session_register("name");session_register("email");$bgcolor = "#8080ff";$name = "alfareees almolthem";$email = "php@php.com";$e = session_encode();print "The encoded string is: $e";?>



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



الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://alqhas.yoo7.com
 
الدرس العاشر في لغة php
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
»  الدرس الأول في لغة php
»  الدرس الثاني
»  الدرس السادس عشر في لغة php
»  الدرس الخامس عشر في لغة php
»  الدرس الثالث في لغة php

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتديات القناص ابوهاجوس لهكرالنيمبوز وبرامج الاختراق :: منتدى لغات البرمجه :: قسم مختص بالمواضيع المتعلقة بلغات برمجة المواقع مثل ال PHP و ASP و Perl الخ...-
انتقل الى: