أول طريقة لضمان عدم دخول أي شخص لمكان ما في الموقع أو للموقع بأكمله هي استعمال تصفية للمستخدمين وذلك عن طريق منع الدخول للموقع إلا للمرخص لهم
الخطوات:
تشكيل table في قاعدة البيانات اسمها مثال:user
نشكل داخلها رقم المستخدم id_user الذي سيكون هو المعرف الخاص بالمستخدم وعموما يستعمل بنوع تزايد ألي
اسم المستخدم login_user و كلمة السر password_user
ويكنك إظافة معلومات أخرى مثل:البريد الإلكتروني email_user , اسمه الحقيقي name_user
هذاهو سكربتSQL :
`id_user` int(11) NOT NULL auto_increment,
`login_user` varchar(255) collate utf8_bin NOT NULL default '',
`password_user` varchar(255) collate utf8_bin NOT NULL default '',
`email_user` varchar(255) collate utf8_bin NOT NULL default '',
`name_user` varchar(255) collate utf8_bin NOT NULL default '',
PRIMARY KEY (`id_user`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=2 ;
CREATE TABLE `user` (
ننتقل الأن إلى برمجة الموقع :
شكل صفحة HTML عادية تحتوي على FORULAIRE ضع داخله حقل لكتابة اسم المستخدم و أخر لكتابة كلمة السر , للعلم حقل كتابة كلمة السر من نوع خاص يسمح للمستخدم كتابة الكلمة على شكل نجوم، لأن كثيرا من المبتدئين يسألونني كيف نصنع هذا وأخيرا أضف زر الدخول
ملاحظة: لإرسال معلومات FORULAIRE إلى صفحة أخرى لا تستعمل طريقة GET لأنها تكشف المعلومات المبعوثة ولكن أرسلها ب POST لأنها أضمن.
هذا هو كود الصفحة index.html:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>index</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="Control.php ">
<label> Login: </label>
<input type="text" name="login" />
<br />
<label> password:</label>
<input type="password" name="password" />
<br />
<input type="submit" name="Submit" value="Connecion" />
</form>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
هذا FORULAIRE يقوم ببعث المعلومات إلى صفحة PHP نسميها Control.php التي تقوم بالتحقق من المعلومات وتوجه المستخدم إلى داخل الموقع المحمي.لكن قبل شرح كيفية التحقق ليكن في علمكم أن كثيرا من المبتدئين يعتمدون في التحقق من تطابق نوعية أو حجم المعلومات باستخدام الجافا سكريبت فقط أاكد على كلمة فقط لأنه يمكن تعطيل الجافا سكريبت من المتصفح ويتم خلالها كشف عورتك عن طريق SQL injection ,المهم سوف نتكلم عن هذا الجانب في الدروس القادمة وهذا للمحافظة على تسلسل الأفكار.
أما عن برمجة صفحة Control.php فسوف نحتاج فيها بالاتصال بقاعدة البيانات ولذلك سوف نقوم بكتابة صفحة أخرى للاتصال بقاعدة البيانات وتكون على حدا لأننا سوف نستعملها في مواضع أخرى نسميها connexion.php
هذا هو كود الصفحة :
$host = 'localhost';
$user = 'root';
mysql_pconnect($host, $user) or die("erreur de connexion au serveur $host");
// Connexion au base
$bdd='test';
mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");
?>
<?php
داخل صفحة Control.php نقوم بإضافة كود connexion.php وذلك عن طريق مناداتها) include_once(
ثم نقوم بالتحقق من اسم المستخدم وكلمة السر وهذا الموضع بالذات يجب التروي فيه وكتابته بدقة بحيث أنك تتجنب كل مخاطر SQL injection,لكن في أول مرة سنقوم بكتابته بشكل مبسط ثم نطوره في الدروس القادمة إن شاء الله
هذا هو كود الصفحة Control.php:
<?php
// Connexion au serveur
include_once("connexion.php");
$login= $_POST['login'] ;
$password= $_POST['password'] ;
$query = " SELECT * FROM user where login_user= '$login' and password_user= '$password' ";
$result = mysql_query($query);
if ($f=mysql_fetch_array($result)) {
header('Location: premierpage.php');
exit;
}else {
header('Location: index.html');
exit;
}
?>للتأكد من النجاح نقوم بكتابة صفحة أخرى نسميها premierpage.php ننتقل إليها في حالة التحقق بان المستخدم يحق له الدخول وفي حالة عدم المطابقة نعود بإرجاعه إلى الصفحة الأولى
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>premierpage</title> </head> <label> ok </label> <body> </body> </html>
ها هو الدرس الأول قد تم بتوفيق من الله. إن استطعت أن تقوم بإعادته بمفردك فمبارك لك دخولك عالم حماية المواقع لكن لاتزال الطريق طويلة فشمر على ساعديك.
يوجد ملف مرفق يحتوي على مواد هذا الدرس
الدرس التالي إن شاء الله : إستعمال session لتأكيد الحماية
