تغطية مباشرة لأحداث منتدى الإعلام الجديد المقام بمدينة أبوظبي
هل تقترح تمديد مسابقة سوالف كاست؟

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > PHP
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد  
 
LinkBack أدوات الموضوع
عضو سوبر نشيط
تاريخ التسجيل: Feb 2003-
#1 (permalink)  
استخدام السيشن في حماية الادمن. هل من طريقه افضل؟


بسم الله الرحمن الرحيم

لوحة الادمن عندي هي في الصفحه 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 ? ?

وشاكر لكم
تحياتي






__________________
لا اله الا انت سبحانك اني كنت من الظالمين
EsKi غير متواجد حالياً   قديم 13-02-2006, 08:39 PM
رد مع اقتباس
Moderator
تاريخ التسجيل: Aug 2004-
#2 (permalink)  

انت طريقتك شوي غريبة بس على الاقل تفي بالغرض قليلاً
لدي بعض الملاحضات ..
1- استخدام الJavaScript للذهاب الى control.php مش بذالك العملي .. لانك ممكن تستخدم الامر ()header في الPHP ثم
2- استخدام الsessions لوحدها اذا اردت ان تكون ممممررررررررررررة اّمن .. لن يكون كافياً .. الحل هو باستخدام الايبي IP حق الجهاز المتصل كوسيلة اخرى للتميز لان اذا كانت لدي موقع مستظاف معلك في نفس السرفر، يمكن لي ان اكوّن رقم session جديد بحيث ان برنامجك الPHP لا يستطيع التميّز من رقم الsession لانة يعتقد ان الرقم هو مبرمج من نفس الجهاز ولذالك لا يعارض في صحتة
3- اطبع نموزج الusername و الpassword قبل تنفيذ اي عملية حساسة اي .. ممكن اذا عرفت رقم الsession حق السرفر و عرفت اسرق منك رقم الايبي .. وايضاً عرفت ان اخمن اسم الusername لدي عمل طويل ثاني لكي اخترق السرفر ثم قاعدة البيانات لكي اصل للpassword ..

وانشاء اللة نشوف طرق وحلول اخرى






__________________
هلابي افضل المواقع العربية تصميماً
انصح باستخدام ابونتو
hilaby غير متواجد حالياً   قديم 14-02-2006, 04:58 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Jul 2003-
#3 (permalink)  

طريقتك آمنة على ما أعتقد ..

ال session id ليس ثابت .. بمعنى أن كل مرة يدخل المدير للصفحة .. غالبا ياخذ سيشن آي دي جديد .. واحيانا نفس السيشن ..

جرب ان تفتح صفحة .. افتح الآدمن وادخل بياناتك وادخل للتحكم ..
افتح صفحة ثانية .. سيطالبك أيضا بإدخال الباسوورد !!

بمعنى .. ان السيشن تكون مفتوحة للصفحة الواحدة فقط .. وتنتهي بمجرد اغلاقك للصفحة ..






__________________
النسخة الثانية من ابلود بلس قريبا جدا :
+ شريط مئوي لرفع الملفات
+ دعم اكثر من سيرفر لرفع الملفات Multi-Server
+ مكتبة ملفات مؤرشفة
Egyptechno غير متواجد حالياً   قديم 14-02-2006, 08:03 AM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Feb 2003-
#4 (permalink)  

Egyptechno
كلامك صحيح

hilaby :

1) ممكن..
2) لا اظن ان هذه طريقه عمليه الي ذكرتها.. بمعنى ان نستخدم الاي بي لان ممكن المدير نفسه يستخدم جهاز اخر.. ورقم السيشن هنا يحذف بمجرد اغلاق الصفحه اي انه لا توجد مشكله كما ذكرت.
3) كلامك صحيح .. بالنسبه لطباعة اليوزر والباس .. فهي زياددة امان

شكرا لكما وتحياتي






__________________
لا اله الا انت سبحانك اني كنت من الظالمين
EsKi غير متواجد حالياً   قديم 14-02-2006, 12:38 PM
رد مع اقتباس
Moderator
تاريخ التسجيل: Aug 2004-
#5 (permalink)  

يا صاحبي ..
مشكور على ردك ..
المهم .. بالنسبة للنقطة رقم 2 ..

انا لم اتكلم من حفظ الIP في قاعدة البيانات وجعل الادمن يستخدم جهاز واحد لكي يصل الى الموقع ...
يا Pal-Heart انا كنت اتكلم عن شيء ثاني ..

خليني اوضح ..
مثل ماقلت ان الIP سيستعمل في عملية جعل الsession اكثر تعقيداً لان الرقم الsession لن يترك كما هو بل سيضرب محتوى الرقم برقم الIP بواسطة عملية حسابية انت تستعملها .. مثال .. ممكن ان تضرب رقم الsession بالهاش MD5 ثم تقسم الناتج على الرقم ال(Octal) حق الIP وبعد ذالك تحدث رقم الsession

هذا على الاقل يعطي حماية ضد الاختراق من نفس السرفر






__________________
هلابي افضل المواقع العربية تصميماً
انصح باستخدام ابونتو
hilaby غير متواجد حالياً   قديم 14-02-2006, 01:00 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Feb 2003-
#6 (permalink)  

فهمت عليك وشكرا لك جزيلا






__________________
لا اله الا انت سبحانك اني كنت من الظالمين
EsKi غير متواجد حالياً   قديم 14-02-2006, 02:59 PM
رد مع اقتباس
رد


 

أدوات الموضوع

تعليمات المشاركة
لا تستطيع كتابة مواضيع
لا تستطيع كتابة ردود
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة



الساعة الآن: 08:25 AM بتوقيت المملكة العربية السعودية