الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

يا خبراء ماهي افضل طريقة لعمل ملف ادمين

مغلق
بدأه vb_access2002 في 3 أكتوبر 2006 · 6 رد · 766 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام

لقد كمل موقعي بواسطة بي ئتش بي و انا في نهاية المطاف.

اريد ان اسئل اليكم ما هي افضل طريقة لعمل دخول و خروج في كنترول بانل ؟؟

افضل طريقة لحمايتي من الاختراق؟؟

ارجوا مساعدتي

#2

السلام عليكم

أخى أنا كتبت مقال فى الموضوع ده ممكن تطلع عليه

/index.php?showtopic=103537

نعيب زماننا والعيب فينا ****** ومالزماننا عيب سوانا

اللهم أعز الإسلام والمسلمين

#3

شكرا لك اخي العزيز

هل من مزيد؟؟؟؟؟؟؟

#4

السلام عليكم ورحمة الله وبركاته وبعد

أحب أنني أشرح لك هذا الموضوع قم بإستخدام السيشن

قد يعمل الشخص سكريبت او في موقعه ، يريد حماية صفحات لا يريد ان يشاهدها كل الاعضاء .. بل تكون لاشخاص محددين ، ولنقل الاعضاء الذين يملكون عضوية بالموقع ..

هناك طريقتان ..

1. الجلسات ( SESSION ) .

2. الكعكات ( COOKIE ) او الكوكيز .

وطبعا الجلسات هي افضل واسهل واكثر امان من الكعكات .. وخصوصا يفضل استخدامها في لوحات التحكم

اولا كيف نسجل جلسة جديدة للزائر ؟

طبعا لا تنسى انه يتم زراعة جلسة جديدة لكل زائر يتصفح موقعك باستخدام نظام الجلسات

الان لاحظ معي .. كيف نبدأ بإنشاء جلسة جديدة لكل زائر ..؟؟

طبعا هذا السؤال سهل جدا الاجابة عليه ( لان نظام الجلسات بسيط جدا ، ستلاحظ ذلك في نهاية الدرس ) ..

الان سنعمل صفحة نضع بها اسم للدخول به & رقم سري للدخول به

Code..

<?
// save this code in admin_user.php

$admin_user = "naif";
$admin_pass = "123456";

?>

الان سنعمل صفحة اسمها login.php ونضع بها كود الفورم حق تسجيل الدخول ونعين الفورم الى صفحة اسمها done.php حتى يتم التفصيل بدون تعقيد ويفهم الدرس ،

Code..

<?
ECHO " <form method='post' action='done.php'>
User Name : <input type='text' name='User_Name'> <br>
User Pass : <input type='password' name='User_Pass'><br>
<input type='submit' value='دخول'></form>";
?>

حقل لاسم المستخدم اسمه = User_Name

حقل للرقم السري للمستخدم = User_Pass

الان صفحة done.php سنتأكد من ان الاسم والرقم للمستخدم تساوي نفس المعلومات الموجودة في ملف admin_user.php لو تذكر .. هالصفحة ..

وكما لا ننسى سنسجل الجلسة في هذه الصفحة

Code..

<?
session_start();

// ندرج ملف admin_user.php

include("admin_user.php");

$user = trim($_POST['User_Name']);
$pass = trim($_POST['User_Pass']);

// شرط تساوي المعلومات

if( ($user == $admin_user) && ($pass == $admin_pass) ){

// نسجل له الجلسة 

$_SESSION['ses_name'] = "$user";

// رسالة له ان تم تسجيل الدخول
ECHO " تم تسجيل الدخول بنجاح ";

// نظهر له رابط بالذهاب الى الصفحة المحمية
ECHo "<a href='admin_page.php'> دخول لصفحة الادمن </a> ";

// واذا كانت المعلومات خطا
} else {

ECHO " عفوا تأكد من صحة المعلومات ";

}

?>

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

اذا تساوت المعلومات نسجل له جلسه باسم ses_name لاحظ هالشيء ايضا القيمة هي مثلا ( على سبيل المثال ) اسم المستخدم ..

طبعا نلاحظ دالة ببداية الصفحة تخص الجلسات وهي التي تعمل جلسة جديدة للزائر اذا لم تكن له جلسة خاصة دائما وابداً لانشاء جلسة جديدة او عندما نريد استخدام الجلسات نقوم بوضع الكود التالي باعلى الصفحة :

Code..

<?
session_start();
?>

الكود السابق الفائدة منه كما حدثت سابقا انها تقوم بانشاء جلسة جديدة للزائر ، طبعا هذا اذا لم يكن الزائر قد تم تسجيل جلسه تخصه

طبعا اظهرنا له رابط بالصفحة المحية ولنفرض ان اسمها هي admin_page.php ..

انتهينا من الجزء الاول .. نأتي للجزء الثاني ..

الان بعد الدخول نأتي الى صفحة admin_page.php

وسوف نتعلم كيف نتأكد من وجود الجلسة الخاصة بالزئر اي انه سجل دخوله بنجاح ..

واذا لم يسجل نظهر له صفحة الفورم تسجيل الدخول لاحظ معي في هذا الكود لصفحة admin_page.php

Code..

<?
session_start();

if( isset($_SESSION['ses_name']) ){

ECHO " محتويات الادمن ";

ECHO " مرحبابك يا ".$_SESSION['ses_name']." شكراً لتسجيل دخولك ";

} else {

// نظهر له رسالة بان الصفحة غير متاح له مشاهدة محتواها يجب عليه التسجيل

ECHO " عفوا يجب عليك تسجيل الدخول لمشاهدة هذه الصفحة ! ";

// او ندرج صفحة تسجيل الدخول 
include("login.php");


}

?>

طبعا لازم نبدا بدالة session_start() ..

لاحظ تأكدنا من ان متغير الجسلة تم تسجيله لهذا الزائر عن طريق الدالة isset() .. ويمكننا بواسطة الدالة empty() ايضا .. طبعا لاحظنا كيف نظهر للمدير اسمه عن طريق

Code..

<?
echo $_SESSION['ses_name'];
?>

كم هي سهله الجلسات

الان نريد ان نوفر خيار للمدير تسجيل الخروج ، كيف سيتم ذلك

طبعا بكل سهله كما فعلنا في التسجيل .. لاحظ ( نلغي المتغير فقط ) باستخدام الكود التالي

Code..

<?
unset( $_SEESION['ses_name'] );
?>

طبعا معروفه الدالة unset() تقوم بالغاء اي متغير .. لكن نريد ايضا تمدير هذه الجسلة نهائيا لهذا الزائر كيف ؟

Code..

<?
session_destroy();
?>

وعليه يصبح صفحة تسجيل الخروج مثلا باسم logout.php تحتوي على الكود التالي

Code..

<?
session_start();

unset( $_SESSION['ses_name'] );

session_destroy();

echo " تم تسجيل الخروج ";
echo "<br><a href='admin_page.php'>صفحة الادمن</a>";

?>

الان سنضيف في صفحة admin_page.php رابط لصفحة تسجيل الخروج

Code..

<?
session_start();

if( isset($_SESSION['ses_name']) ){

ECHO " محتويات الادمن ";

ECHO " مرحبابك يا ".$_SESSION['ses_name']." شكراً لتسجيل دخولك ";


echo "<br>";

echo " لتسجيل خروج <a href='logout.php'> اضغط هنا </a> ";

} else {

// نظهر له رسالة بان الصفحة غير متاح له مشاهدة محتواها يجب عليه التسجيل

ECHO " عفوا يجب عليك تسجيل الدخول لمشاهدة هذه الصفحة ! ";

// او ندرج صفحة تسجيل الدخول 
include("login.php");


}

?>

طبعا هذا نظام الجلسات بشكل كامل وسهل جداً ..

ماذا لو اردنا ان يكون هناك عدة مستخدمين .. اي الاستعلام عن المستخدم من قاعدة البيانات ؟؟

كل ماسنحتاج هو في صفحة done.php .. نستعلم عن الاسم من القاعده ان توفر نسجل له جلسة والا لا نسجل له جلسة ..

Code..

<?
session_start();

// ندرج ملف admin_user.php

include("admin_user.php");

$user = trim($_POST['User_Name']);
$pass = trim($_POST['User_Pass']);

// شرط تساوي المعلومات

$SQL = mysql_query(" select * from members where name='".$user."' and password='".$pass."' ") or die (mysql_error());

// التحقق من ان المعلومات صحيحة
if( mysql_num_rows($SQL) != "0" ){

// نطلع بيانات العضو
$info = mysql_fetch_array($SQL);

// نسجل له الجلسة 

$_SESSION['ses_name'] = "$info[name]";

// رسالة له ان تم تسجيل الدخول
ECHO " تم تسجيل الدخول بنجاح ";

echo "<br>";

echo "<a href='admin_page.php'>صفحة الادمن</a>";

// واذا كانت المعلومات خطا
} else {

ECHO " عفوا تأكد من صحة المعلومات ";

}

?>

هذا بكل بساطة .. في نظام الجلسات وطريقة التعامل معها ...

مـلاحـظـــه :

ملاحظه مهمه جدا ، ابدأ بدالة انشاء الجلسة session_start() قبل دالة طباعه مثل print او كود HTML والا ستواجه مشكلة ان النظام لن يعمل ..

وسلااامي لكم

#5

شكرا لك اخي لهذا الشرح المميز

انا ركبت طريقة ارجوا منك و من الخبرا نظر اليها و هل هذا الطريقة جيدة و اختراقه صعب ام لا

$user_un   =	 $_POST['user_un'];
$user_pw	  =		   $_POST['user_pw'];
//echo"$user_un";
$xx=mysql_query("select * from admin");
while ($z=mysql_fetch_array($xx)){

$id=$z["id"];
$w=$z["user_un"];
$ww=$z["user_pw"];
//echo "$z[user_pw]";
session_start();
if($_SESSION['admin']) exit;
if(isset($z['user_pw'])){

	if($ww == md5($user_pw) && $w ==$user_un)
	{
		$_SESSION['admin'] = true; // the action
		require('done.php');
		exit;

	}
}

}

لقد شفره بواسطة md5 و لكن في mysql و يجب ان اكتب هذا العبارة حتى يفتح لوحة التحكم

if($ww == md5($user_pw) && $w ==$user_un)

و لكن لا اعرف هل هذا الكود صحيح ام لا؟

ارجوا مساعدتي و انا بانظاركم و شكرا لكم

#6

و ايضا عندي هذا الطريقة ارجوا مساعدتي لاختيار ايهما افضل او ما هي افضل؟؟؟

رجاء اجابة سريع

$uname   =	 $_POST['uname'];
$passwd	   =		   $_POST['passwd'];
//echo"$user_un";
$xx=mysql_query("select * from admin where uname='$uname' and passwd=md5('$passwd') ");
//$result =  mysql_query($query);
$row_num = mysql_num_rows($xx);
if( $row_num > 0)
{
	session_start();
$_SESSION['uname'] = $uname;
$_SESSION['passwd']	= $passwd;
		$_SESSION['admin'] = true; // the action
		require('done.php');
		exit;

	}
#7

أخوي إن شاء الله الطريقة صحيحة للتعاون أضفني على الماسنجر geh1410@hotmail.com

هذا الموضوع مغلق.

مواضيع مشابهة