مرحبا جالس اتعلم php
وصادفت شخص يسوي هذا في بداية العمل . وش الفايدة من هذا وهل راح يخرب شي يعني لو اردت اجعل شخص يسجل دخول لشهر بالكوكيز هل هذا يمنع ؟ وعندي سؤال ثاني الوظيفة موضوعه اخر شي وتم استدعائه فوق هل هذا شي خاص بالphp ولا كيف طريقته كيف يعرفه ان فيه داله تحت
<?php
ini_set('session.use_only_cookies',1);
ini_set('session.use_strict_mode',1);
session_set_cookie_params([
'lifetime'=> 1800,
'domain'=>'localhost',
'path'=>'/','secure'=>true,'httponly'=>true
]);
session_start();
if (!set($_SESSION['last_regeneration']>=$interval)) {
reg_session_id();
}else{
$interval=60*30;
if (time()-$_SESSION['last_regeneration']>=$interval) {
reg_session_id();
}
}
function regenerate_session_id(){
session_regenerate_id();
$_SESSION['last_regenertion']=time();
}
اجابة سؤالك ما الفائده من هذه الكود :
الفائدة من هذا الكود هي زيادة أمان جلسات المستخدمين في تطبيق الويب الخاص بك. عندما يتم انشاء معرف الجلسة وإعادة توليده بانتظام، يتم تقليل فرص اختراق الجلسة والاستيلاء على هويتها، مما يعزز الأمان للمستخدمين.
اجابة سؤالك هل هذا يمنع اجعل شخص يسجل دخول لشهر بالكوكيز
لا بطبع، هذا الكود لا يمنعك من تسجيل دخول شخص لمدة شهر باستخدام الكوكيز. هو فقط يحسن من آلية توليد وإعادة توليد معرف الجلسة. لو كانت هناك أية تحققات أخرى أو سياسات تحكم في فترة انتهاء صلاحية الجلسة، فسيتعين عليك تنفيذها بشكل منفصل.
اجابة سؤالك الخاص باستدعاء الدالةقبل تعريفها
في PHP، يمكن استدعاء الدوال قبل تعريفها بشرط أن يكون الدالة معرفة في نقطة لاحقة في الكود. هذا يعني أن PHP يمكنها استدعاء الدوال قبل تعريفها لأنها قد تظل في الذاكرة حتى تصل إليها خلال تنفيذ البرنامج. وهذه طريقة خاصة بـ PHP وليست متاحة في جميع لغات البرمجة.
بنسبه اذا كنت تريد فهم جميع الكود اللذي ارفقته بلكامل
- ini_set('session.use_only_cookies', 1): تضمن هذه الدالة أن يتم تخزين معرف الجلسة (session ID) فقط في ملفات تعريف الارتباط (cookies) على جهاز المستخدم.
- ini_set('session.use_strict_mode', 1): تمنع هذه الدالة استخدام معرفات الجلسة (session IDs) غير صالحة أو مزيفة.
- ()session_set_cookie_params:
- lifetime: تحدد مدة صلاحية الكوكيز (cookies) الخاصة بالجلسات (شهر في هذه الحالة).
- domain: نطاق الكوكيز (cookies).
- path: المسار الذي يمكن الوصول من خلاله إلى الكوكيز (cookies).
- secure: يمنع إرسال الكوكيز (cookies) عبر اتصالات HTTP غير آمنة.
- httponly: يمنع الوصول إلى الكوكيز (cookies) من خلال JavaScript.
- ()session_start: تبدأ جلسة جديدة أو تستأنف جلسة موجودة.
- ()reg_session_id: وظيفة مخصصة لإعادة إنشاء معرف الجلسة (session ID) بشكل دوري.
التعليقات