چطوری صحت کلمه عبور رو با mysql چک کنم؟

karevan

Member
سلام

من یه فرم ساختم که کاربر با اون مشخصاتش رو به دیتابیس میفرسته.

ولی نمیدونم چطوری توی فرم ورود صحت این مشخصات رو از روی مای اس کیو ال چک کنم.
ممنون ميشم راهنمايي كنيد.
 

Salman_MP

Member
شما اول يه فرم مخصوص ورود اطلاعات ميسازي. بعد يه اسكريپت مينويسي كه اطلاعات گرفته شده در فرم رو براي اون ميفرستي . اونوقت اون يه كه كانكشن به ديتابيس داره ميره و به سادگي چك ميكنه. ولي اگر مشكلت با خود كانكشن و گرفتن اطلاعات از ديتابيسه يه بحث ديگه اس... اگر اونم هست بگو تا بگم!!!
 

Mikhak

Active Member
يه راهش اينه كه يه دستور select رو توي يه شرط بزاري و اگه مقدارت بزرگتر از صفر بود بنابراين نام كاربري و كلمه عبور صحت داره يعني به اين صورت
کد:
if ($db->sql_numrows($db->sql_query("SELECT username,password FROM table1 WHERE user='$username' and pass='$password' ")) > 0)
	{
		//ورود با موفقيت
	} else {
		//كلمه عبور صحيح نيست
	}
و اما روش دوم كه تقريبا شبيه روش بالاست به اين صورته كه فكر كنم توضيح لازم نداشته باشه
کد:
$result = $db->sql_query("SELECT * from table1 where user='$username' and pass='$password'");
    $numrows = $db->sql_numrows($result);
    if($numrows > 0) {
        $row = $db->sql_fetchrow($result);

	// ورود با موفقيت

	}else{

	//كلمه عبور صحيح نيست

	}
-------------
سينا
 
آخرین ویرایش:

Amir61

New Member
در مورد query injection چی کار می خوای بکنی آقا سینا.
فک کنم را بهتر این باشه که از دیتابیس پسورد user رو بپرسی و بعد تو کد PHP اونو با پسورد وارد شده مقایسه کنی.
 

karevan

Member
سینا جان ممنون
ولی این کدها رو خیلی دست کاری کردم تا کار کرد.
مثلا قبل از sql باید my بزاری و ...
ولی دمت گرم کار ما راه افتاد.
ولی چطوری میتونم اونو توی کوکی یا یه چیزی ذخیره کنم که حد اقل تا ارتباط بعدی نیازی به چك شدن دوباره نداشته باشه؟
 
آخرین ویرایش:

sil3nt

Banned
سلام
آقا سينا آيا شما مايل به همكاري با ما هستيد!!
براي انجام يك پروژه جالب.
در صورت تمايل شما به همكاري به اين id >>iis_hack2004
pm بده
نون توشه ها
 

Mikhak

Active Member
karevan گفت:
سینا جان ممنون
ولی این کدها رو خیلی دست کاری کردم تا کار کرد.
مثلا قبل از sql باید my بزاری و ...
ولی دمت گرم کار ما راه افتاد.
ولی چطوری میتونم اونو توی کوکی یا یه چیزی ذخیره کنم که حد اقل تا ارتباط بعدی نیازی به چك شدن دوباره نداشته باشه؟
ميتوني از دستور setcookie استفاده كنين يه مثال هم ميزارم تا كلا تفهيم بشه
کد:
<?php
$value = 'something from somewhere';

setcookie("TestCookie", $value);
setcookie("TestCookie", $value, time()+3600);  /* expire in 1 hour */
setcookie("TestCookie", $value, time()+3600, "/~rasmus/", ".example.com", 1);
?>
به همين راحتي
Amir61 گفت:
در مورد query injection چی کار می خوای بکنی آقا سینا.
فک کنم را بهتر این باشه که از دیتابیس پسورد user رو بپرسی و بعد تو کد PHP اونو با پسورد وارد شده مقایسه کنی.
نظر شما بسيار متين ولي
اولا injection رو ميشه با چند تا تابع كه قبل از اينا بايد نوشته بشه حل كرد
منم تقريبا كاري مثل كار شما كردم ولي به نظر من زياد زياد مهم نيست كه براي دستور select injection رو رعايت كرد injection بيشتر به درد update delete insert ميخوره ولي اگه كسي بخواد يه برنامه نويس تحت وب يا application ديتابيس حرفه اي و قانوني بشه بايد بايد injection رو رعايت كنه
قربان شما
------------------
سينا
دوما به نظر من واسه دستور
-------------------------
سينا
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا