تسجيل الدخول

مشاهدة النسخة كاملة : أريدة مساعدة في ضبط ملف التسجيل الذي و ضعته


الأخ ياسين
2011-10-03, 20:24
السلام عليكم

قد برمجت مئخرا في موقعي صفحة للتسجيل و قد واجهت عدة مشاكل

هي:

1-- يمكن التسجيل بنفس الإسم عدة مرات بل أنا أريد أن يرفض إدخال الإسم او الإيميل المسجل مسبقا

2--أريد إضافة شرط بحيث العضو فقط يمكنه اضافة قصص
3-- إراد إضافة شرط أن يكون العضو مديرا للدخو للإدارة

هذا كود إخال بيانتا التسجيل :

<?
require('config.php');

$name = addslashes($_POST['name']);
$pass = addslashes($_POST['pass']);
$email = addslashes($_POST['email']);


if ($name == "" OR $pass == "" OR $email == ""){
echo "<div align='center'>لم تقم بإدخال البيانات <a href='javascript:history.back(1)'>العودة</a></div>";
}else{
$query = @mysql_query ("INSERT INTO members (name,pass,email)
VALUES
('$name','$pass','$email');") or die ("error query");
echo "<p align=center>تم التسجيل بنجاح</p>";
}
?>

الأخ ياسين
2011-10-04, 12:18
هل من مساعد ......

الأستاذ سامي
2011-10-04, 20:12
سأمر عندما اتفرغ ان شاء الله.... لا اعرف متى
لكن سأحاول المرور ان شاء الله
كل ما يمكنني قوله بما انك جديد في المجال ... يمكنك البرمجة للتعلم و لكن لا انصخك باستعمال هذا في موقعك الذي يزوره الزوار
صفحات التسجيل و الدخول عادة تطون هي طريق دخول المخربين و القراصنة
برمجة صفحة دخول مع صلاحيات هي امر سهل لكن الاصعب برمجة صفحة امنة خالية منة الثغرات
هناك مكتبات php جاهزة تغنيك عن برمجة كل شيء من الصفر

مثل
Zend Framework
CakePHP

الأستاذ سامي
2011-10-06, 10:51
ساحاول متابعة هذا معك نقطة نقطة حسب الوقت المتوفر لي

أول نقطة مطروحة

1-- يمكن التسجيل بنفس الإسم عدة مرات بل أنا أريد أن يرفض إدخال الإسم او الإيميل المسجل مسبقا
]

هنا لمنع تكرار اسم العضوية هناك امران يجب اتباعهما :

الامر الاول
قاعدة اللبيانات يجب ان لا تقبل تكرار الاسماء يعني حتى و ان كان كود ال php لا يمنع ذلك فان مجرد محاولة حفظ اسم مكرر على قاعدة البيانات لن تتم و سترجع رسالة خطأ ستكون غير مفهومة للزائر العادي و لكن هذا سيحميك ...

الامر ثاني

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


اخي لا يكفي اخذ البيانات ووضعها في قاعدة البيانات يجب التحقق من محتوى الخانات كلها حول توفر اسم العضوية و حول ان الايميل هو ايميل حقا ....
كما يجب منع مثلا " و ' و كل ما من شأنه ان يسهل الاختراق
ابحث و اقرأ عن sql injection او الحق على قاعدة البيانات

قاعدة بيانات لا تقبل تكرار الاسماء + التحقق من الاسم قبل الحفظ على قاعدة البيانات