السلام عليكم
هذا الموضوع سيتحدث عن اساسيات الامان في انظمة مواقع الانترنت خصوصا التي تستعمل انظمة مكتوبه بلغه php وهي خطوات مهمه يجب ان تطبق من قبل مطور الانظمه بهذه اللغه لضمان مستوى حمايه جيد لنظامه
1- اسم الدخول وكلمة السر يجب ان لا يقل عن 6 عناصر او اكثر.
2- في حال الدخول الخاطئ يجب ان تكون الرساله مبهمه حتى لا تعطي اي دليل عن كلمة السر، مثل (دخول غير ناجح).
3
- تعامل مع الاخطاء بشكل ذكي واستباقي: ضع رمز @ قبل طرق الاستدعاء في لغه php وهكذا عند حدوث مشكله في قاعدة البيانات فلن يظهر الامر في المتصفح، الذي قد يعطي معلومات مهمه للمخترقين.
4- كلمات السر في قاعدة البيانات يجب ان تشفر بطريقه SHA-1
هذه الطريقه مهمه في حالة حصول احد المخترقين على قاعدة البيانات بشكل ما، بحيث انه يستطيع ان يشاهد سجلات الدخول لكن تبقى كلمات السر مشفره
الطريقه كالتالي
- في قاعدة البيانات sql وفي حقل كلمة السر اجعل طولة 40 عنصر حتى يحتوي كلمة السر المشفره بطريقه SHA-1 .
- قبل مقارنة كلمة سر المستخدم والموجوده في قاعدة البيانات (المشفره) استخدم الامر shal() لتشفيرها كالتالي
كود:
$encrypted = sha1($password);
Sample database data:
Login name: fmfm
Password: d0be2dc421be4fcd0172e5afceea3970e2f3d940
5- سجل مجموع محاولات الدخول لكل مستخدم والوقت والتاريخ لاخر دخول
هذه الطريقه مفيده لمتابعات تحركات المستخدمين وربطها في حال حدوث اي اختراق حيث ان مقارنة وقت التغير في قاعدة البيانات واوقات الدخول للمستخدمين قد يعطي معلومات مهمه عن المخترقين.
لتحقيق السابق فان جدول المستخدم في قاعدة البيانات يجب ان يحتوي ثلاث حقول اضافيه
كود:
Logincount of type INTEGER
Lastlogin of type TIMESTAMP (or datetime)
Thislogin of type TIMESTAMP (or datetime)
عند دخول المستخدم فان ال php تقوم بتحديث معلومات المستخدم في قاعدة البيانات عن طريق زياده عداد مرات الدخول بواحد، والحصول على ختم لوقت الدخول باستخدام date()، ثم بعد دخول ناجح يتم نقل البيانات من Thislogin الى LastLogin
6- منع استخدام وظائف php HTML sql في اي حقل من حقول النماذج.
قد يقوم بعض المخترقين باستخدام وظائف لغات برمجة الانترنت في حقول النماذج للوصول الى الكود للصفحه مما يؤدي الى خلل خطير في امن الصفحه
باستخدام وظائف php التاليه يمكن منع هذه العمليه
كود:
strip_tags(), str_replace() and stripslashes()
Example: $login = @strip_tags($login);
Example: $login = @stripslashes($login);
نهاية الجزء الاول (يتبع)
حقوق الطبع محفوظه للجيل الجديد للتكنولوجيا