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

مشكلة في معرفة رقم المستخدم

بدأه Akkad في 9 مايو 2010 · 5 رد · 863 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

وضعت في صفحة تسجيل الدخول الكود التالي:

<? session_start();


$user = $_POST['user'];
	$pass = $_POST['pass'];
	if ($user == '') {
		echo  'اسم المستخدم الذي أدخلته غير صحيح<br>';
	} else if ($pass == '') {
		echo  'كلمة المرور التي أدخلتها غير صحيح<br>';
	} 
	else

	{

	$result = mysql_query("select user_id ,user_ac from tbl_user where user_name='".$user."'
					  and user_password = password('".$pass."')");

	if (mysql_num_rows($result) == 1) {
			$row = mysql_fetch_assoc($result);

			$_SESSION['plaincart_user_id'] = $row['user_id'];
			$userId=$_SESSION['plaincart_user_id'];

			$sql = "UPDATE tbl_user 
			        SET user_last_login = NOW() 
					WHERE user_id = '{$row['user_id']}'";
			mysql_query($sql);

					   echo $user." مرحبا بك يا   .<br>";


		} else {
			echo'اسم المستخدم أو كلمة المرور خاطئة<br>';
		}

	}  
?>

وفي كل صفحة أريد فيها معرفة رقم المستخدم أضع فيها هذا الكود

if(isset($_SESSION['plaincart_user_id'])){
	$userId=$_SESSION['plaincart_user_id'];
	}

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

تم تعديل هذه المشاركة بواسطة Akkad في 9 مايو 2010 في 15:42

#2

(خارج موضوع السؤال)

الكود هذا سيء امنياً، اقرأ عن SQL Injection و Input Validation

(بالنسبة للسؤال)

-الكود هذا لا يعمل اذا لم تكن ال Cookies مفعَّلة عند مستخدم الصفحة

-الكود هذا لن يعمل اذا كان هناك اي Output قبل

<?

حتى فراغ او (أي) مخرجات

php5-zce-logo-new.gif

CCNA, CCNA Security, CCNP

#3

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

أخي ماذا يعني هذا السطر, هل أنت متأكد من سلامته.

and user_password = password('".$pass."')"
#4
Ryn كتب:

(خارج موضوع السؤال)

الكود هذا سيء امنياً، اقرأ عن SQL Injection و Input Validation

(بالنسبة للسؤال)

-الكود هذا لا يعمل اذا لم تكن ال Cookies مفعَّلة عند مستخدم الصفحة

-الكود هذا لن يعمل اذا كان هناك اي Output قبل

<?

حتى فراغ او (أي) مخرجات

الأخ الكريم Ryn هل لك أن ترشدنا إلى الأخطأ الأمنية لعلنا نستفيد؟؟

#5
 $user = $_POST['user'];        $pass = $_POST['pass'];

هنا لابد من التحقق من القيم المرسله من المستخدم

بحث بسيط حول

Input Validation

SQL Injection

Whitelist filtering / Blacklist filtering

بيعطيك افكار كثير

php5-zce-logo-new.gif

CCNA, CCNA Security, CCNP

#6

أخ (Ryn)

بالنسبة لـ (Input Validation) هل تقصد التحقق من عدد الأحرف فقط؟

بالنسبة لـ (SQL Injection)، أقترح استدعاء التابع (addslashes) لكل من القيمتين المذكورتين.

ماذا أيضاً؟

مؤسس شبكة مواقع إجابتي أول شبكة مواقع عربية للأسئلة والأجوبة

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