إن كان الجواب نعم ... ماهي الثغرات و كيف يمكن تأمينها
هل هناك ثغرات يمكن استغلالها في PHP من خلال جلسات session أو cookies؟
وضع بيانات غير مشفرة في cookies يُمكن الاطلاع عليها وتعديلها من قبل المستخدم
session تستخدم الcookies لحفظ id في ذاكرة المستخدم ثم حفظ البيانات في الخادم لهذا المستخدم
session اكثر امانًا من cookies لكنها ليست أمنه على الاطلاق.
لالسف جميع البيانات يُمكن التعديل عليها الحل التأكد بكل الطرق من انه تم حفظها لهذا المستخدم مثلًا الip والمتصفح وأن البيانات صحيحة مثلًا عدم حفظ حقل انه مستخدم فقط بل يجب التأكد من المعلومات صحيحة
ملاحظة لا يمكن الحماية 100% فأن تمت معرفة البيانات المحفوظة لك الان في حاسوب io يُمكن أن أدخل بحسابك.
أخي هناك أساسيات يجب عليك استخدامها لتجعل عملية اختراق ال session أصعب بكثير وهي أولاً تشفير القيمة المخزنة في session ولكن تشفير يمكن فك تشفيره أي ما يطلق عليه two way encryption بحيث تستطيع فك التشفير في أي وقت والتأكد من أن قيمة session سليمة مثل بيانات المستخدم بعد تسجيل الدخول ويوجد العديد من دوال التشفير القوية التي يصعب جدا فك تشفيرها بالإضافة إلى استخدام دالة session_regenerate_id والتي تقوم بتغيير id الخاص بكل session مع كل إعادة تحميل للصفحة أو الإنتقال بين الصفحات بحيث إذا استطاع شخص ما الحصول على id الخاص ب session أي مستخدم مع البيانات المشفرة فلن يستطيع استخدامها بالموقع بمجرد أن يقوم المستخدم الأساسي بإعادة تحميل الصفحة أو الإنتقال لصفحة أخرى - هذا رد مختصر ويوجد العديد من الشروحات حول كيفية تأمين session وتشفير بياناتها وهذه الصفحة ستفيدك جدا
دائما إعمل بمدأ "عدم الثقة في البيانات المرسلة من جهة العميل" فال cookie لا يتم تخزين بيانات هامه بها لإمكانية الإطلاع عليها وتعديل هذه البيانات وإعادة إرسالها للخادم.
نعم هناك ثغرات في نظام الجلسات كثغرة "رجل في الوسط" والتي تتم بالحصول على معرف الجلسة والولوج بهذا المعرف لنفس الجلسة النشطة.
هناك طرق ستجدها ببحثك لكيفية الحماية من هذه الثغرات أو إستخدامك مكتبات الحماية للحماية من هذه الثغرات ك:
والتالي رابط عن ثغرات الجلسات:
http://phpsec.org/projects/guide/4.html
التعليقات