| |||||||
| المدوّنات | البحث | مشاركات اليوم | اجعل كافة المشاركات مقروءة |
|
| | LinkBack | أدوات الموضوع |
| |||||
| استخدام السيشن في حماية الادمن. هل من طريقه افضل؟ لوحة الادمن عندي هي في الصفحه admin/control.php وصفحة الدخول هي admin/index.php هذا الي انا عملته: في صفحة ال index.php عملت ما يلي: كود:
<?php
session_start();
include "../config.php";
$admin="palheart";
$pass="1234567";
// هذه النماذج لكي يتم ادخال اسم المستخدم وكلمة المرور
if (!$action) {
print "You have to log on<br><br>";
print "<form action=\"index.php?action=logon\" method=\"post\">";
print "<input type=\"text\" name=\"user10\" size=\"30\"><br>";
print "<input type=\"password\" name=\"pass10\" size=\"30\"><br>";
print "<input type=\"submit\" value=\"Agree\"></form>";
}
// هنا عملية المعالجه بعد الضغط على زر الدخول..
// لو كانت المعلومات صحيحه سيزرع سيشن وينتقل لصفحة الادمن
elseif ($action==logon){
if ($user10==$admin && $pass10==$pass) {
$_SESSION['admin_session']="welcome admin";
print "<meta http-equiv=\"refresh\" content=\"0 ;url=control.php\">"; }
else
print "Wrong password Or User name";
}
?> والان صفحة ال control.php كود: <?php
session_start();
if ($_SESSION['admin_session']=="welcome admin") {
هنا يتم عرض صفحة الادمن كلها
}
else
print "You are not allowed to be here";
?> الان سؤالي.. هل هذه هي حمايه جيده.. وهل يوجد اقتراحات اخرى جيده؟ - طبعا انا حطيت اليوزر والباس على شكل متغيرات حاليا لغاية ماعملها في قاعدة البيانات.. ما هي اوامر السيشن الاخرى مثل session_register ? ? وشاكر لكم تحياتي
__________________ لا اله الا انت سبحانك اني كنت من الظالمين | |||||
|
| |||||
|
انت طريقتك شوي غريبة بس على الاقل تفي بالغرض قليلاً لدي بعض الملاحضات .. 1- استخدام الJavaScript للذهاب الى control.php مش بذالك العملي .. لانك ممكن تستخدم الامر ()header في الPHP ثم 2- استخدام الsessions لوحدها اذا اردت ان تكون ممممررررررررررررة اّمن .. لن يكون كافياً .. الحل هو باستخدام الايبي IP حق الجهاز المتصل كوسيلة اخرى للتميز لان اذا كانت لدي موقع مستظاف معلك في نفس السرفر، يمكن لي ان اكوّن رقم session جديد بحيث ان برنامجك الPHP لا يستطيع التميّز من رقم الsession لانة يعتقد ان الرقم هو مبرمج من نفس الجهاز ولذالك لا يعارض في صحتة 3- اطبع نموزج الusername و الpassword قبل تنفيذ اي عملية حساسة اي .. ممكن اذا عرفت رقم الsession حق السرفر و عرفت اسرق منك رقم الايبي .. وايضاً عرفت ان اخمن اسم الusername لدي عمل طويل ثاني لكي اخترق السرفر ثم قاعدة البيانات لكي اصل للpassword .. وانشاء اللة نشوف طرق وحلول اخرى | |||||
|
| |||||
|
طريقتك آمنة على ما أعتقد .. ال session id ليس ثابت .. بمعنى أن كل مرة يدخل المدير للصفحة .. غالبا ياخذ سيشن آي دي جديد .. واحيانا نفس السيشن .. جرب ان تفتح صفحة .. افتح الآدمن وادخل بياناتك وادخل للتحكم .. افتح صفحة ثانية .. سيطالبك أيضا بإدخال الباسوورد !! بمعنى .. ان السيشن تكون مفتوحة للصفحة الواحدة فقط .. وتنتهي بمجرد اغلاقك للصفحة ..
__________________ النسخة الثانية من ابلود بلس قريبا جدا : + شريط مئوي لرفع الملفات + دعم اكثر من سيرفر لرفع الملفات Multi-Server + مكتبة ملفات مؤرشفة | |||||
|
| |||||
|
Egyptechno كلامك صحيح hilaby : 1) ممكن.. 2) لا اظن ان هذه طريقه عمليه الي ذكرتها.. بمعنى ان نستخدم الاي بي لان ممكن المدير نفسه يستخدم جهاز اخر.. ورقم السيشن هنا يحذف بمجرد اغلاق الصفحه اي انه لا توجد مشكله كما ذكرت. 3) كلامك صحيح .. بالنسبه لطباعة اليوزر والباس .. فهي زياددة امان شكرا لكما وتحياتي
__________________ لا اله الا انت سبحانك اني كنت من الظالمين | |||||
|
| |||||
|
يا صاحبي .. مشكور على ردك .. المهم .. بالنسبة للنقطة رقم 2 .. انا لم اتكلم من حفظ الIP في قاعدة البيانات وجعل الادمن يستخدم جهاز واحد لكي يصل الى الموقع ... يا Pal-Heart انا كنت اتكلم عن شيء ثاني .. خليني اوضح .. مثل ماقلت ان الIP سيستعمل في عملية جعل الsession اكثر تعقيداً لان الرقم الsession لن يترك كما هو بل سيضرب محتوى الرقم برقم الIP بواسطة عملية حسابية انت تستعملها .. مثال .. ممكن ان تضرب رقم الsession بالهاش MD5 ثم تقسم الناتج على الرقم ال(Octal) حق الIP وبعد ذالك تحدث رقم الsession هذا على الاقل يعطي حماية ضد الاختراق من نفس السرفر | |||||
|
![]() |
| |
| |
| أدوات الموضوع | |
| |