حسنا سأوضح لك الأمر بشكل أبسط
- بعض المبرمجين الذي سيلجا إلى تمرير معرف الجلسة في كل روابطه من أجل التأكد من أن البرنامج سيتابع معلومات الجلسة سواء بتفعيل الكوكيز أم لا ، سيكتب شفرة مثلا كالتالي:
كود PHP:
session_start();
if (!$_SESSION[Username]) {
$Username = "SessionUesrname";
session_register("Username");
echo "You have been registered , <a href='?". strip_tags(SID) ."'>Click Here</a>";
} else {
print "You have been cofirmed " . $_SESSION[Username];
}
جرب هذا الكود ، بعد ضغطك على Click Here ، سيظهر معرف الجلسة في العنوان بالفعل ، و لكن عندما تغير معرف الجلسة من العنوان ، ستلاحظ أن البرنامج سيستمر في التعرف عليك حتى عندما غيرت معرف الجلسة من العنوان أو أزلته ، المبرمج الغير ملم بهذه الأمور سيعتقد أن هناك خطأ في الجمل الشرطية و خصوصا عندما يكون كود البرنامج مكتل و غير منظم ، صدقني حتى المبرمجين الخبراء سيقعون في هذا الخطأ عند تجربتهم البرنامج مثلا في متصفح يدعم كوكيز بعد فترة ، هذا الأمر سيجعله في حيرة
الآن أغلق المتصفح و عدل في البرنامج و أضف السطر التالي في بداية الكود :
كود PHP:
ini_set("session.use_cookies",0);
شغل الصفحة بعد التعديل في المتصفح الجديد ، إضغط كليك هيير ، سيتعرف عليك ، غير معرف الجلسة في العنوان ، لن يتعرف عليك و هذا هو الصحيح و الذي سيزيل الحيرة و هو سيؤكد أن البرنامج يتحقق دائما من معرف الجلسة من العنوان فقط
أرجو أن تكون وضحت الصورة الآن
االاحتمال الذي ذكرته عن طريق الـReferrers هو احتمال فقط ، هذا واحد من عدة احتمالات ،لكن ليس هنا موضع الخطر ، توجد الآن أربع طرق (ثلاث طرق شائعة) مؤكدة للإحتيال على البرامج التي تستخدم معرف الجلسة