ما المشكل بهذا الكود .. ونأسف على الازعاج

السلام عليكم

انا اأسف على الازعاج

لكن ما المشكل بهذا الكود ؟

if(isset($_POST['login'])){
if(empty($u_email) or empty($u_pass)){
    echo" 
    الرجاء ملئ جميع الحقول
    "; 
}else {
    $sql = mysql_query("SELECT * FROM user WHERE u_email ='".$u_email."' AND u_pass = '".$u_pass."'");
        if (mysql_num_rows($sql > 0)) {
        $fetchLquery = mysql_fetch_object($sql);
        $uid = $fetchLquery->u_id;
        $uemail = $fetchLquery->u_email;
        $upass = $fetchLquery->u_pass;        

        if ($uemail != $u_email AND $upass != $u_pass){
            echo" 
               البيانات المدخلة غير صحيحة
            ";
        }else {
          setcookie("uid",$uid, time()+60*60*24) ;
          setcookie("login",1, time()+60*60*24) ;
            echo" 
                    تم تسجيل الدخول بنجاح ...جاري تحويلك الى الرئيسية
            ";
            refresh("index.php", "3");
        }
    }else {
        echo" 
        البيانات  التي ادخلتها غير صحيحة
    ";        

    }

}
}

التعليق السابق

اسف ...

وكيف ازيل هذه الثغرة ؟ ^^

ثغرة الحقن تمكن من تكوين إستعلام مخصص في حالة النصوص قفل النص بإستخدام ' وكتابة إستعلام مخصص

إن كان النص html أفضل إستبدال ' ب

     '

ليتم عرضها في html بشكل صحيح أو يمكن وضع \ قبل ' إستخدم دالة mysql_real_escape لعمل ذلك بسهولة في حالة الارقام أفضل هذا

   (int)($var)

ملاحظة إن كان رقم float إستخدم

   (float)($var)

$var هو المتغير الذي سيدخل إن كان نص سيكون قيمته 0 لمنع الحقن أو يمكن التأكد من أنه رقم ام لا بدالة is_numeric;

ثغرة الحقن تمكن من تكوين إستعلام مخصص في حالة النصوص قفل النص بإستخدام ' وكتابة إستعلام مخصص

إن كان النص html أفضل إستبدال ' ب

     '

ليتم عرضها في html بشكل صحيح أو يمكن وضع \ قبل ' إستخدم دالة mysql_real_escape لعمل ذلك بسهولة في حالة الارقام أفضل هذا

   (int)($var)

ملاحظة إن كان رقم float إستخدم

   (float)($var)

$var هو المتغير الذي سيدخل إن كان نص سيكون قيمته 0 لمنع الحقن أو يمكن التأكد من أنه رقم ام لا بدالة is_numeric;