PDA

View Full Version : سیستم کاربری امن



kamalhamidi
شنبه 18 تیر 1390, 18:11 عصر
سلام

من یه سیستم کاربری ساختم که یوزر کاربر رو توی یه سیسن ذخیره میکنه!

سیسن ها رو برای امنیت بیشتر توی دیتابیس ذخیره میکنم!

برای اینکه کاربر همیشه در حالت لوگین باشه، هنگام لوگین شدن، نام کاربری رو به صورت md5 داخل یه فیلد در دیتابیس قرار میدم، همچنین این نام کاربری رو به صورت md5 داخل یه کوکی ذخیره میکنم!

و هنگام ورود به سایت اطلاعات این دوتا رو باهام بررسی میکنم، در صورتی که برابر باشن لوگین میشه!

اینم کدش:


if (isset($_COOKIE['login']) && strlen($_COOKIE['login']) == 21){
$Query = mysql_query ("SELECT * FROM om_users WHERE login='".sql_quote($_COOKIE['login'])."' LIMIT 0,1 ");
$row = mysql_fetch_array($Query);
if (isset($row['login'])) {
login();
}
}


حالا میخوام ببینم آیا این روشی که من استفاده میکنم، امن هست؟

همچنین یه سوال: تعداد یوزرهای من حدود چند هزارتاست! لذا خواستم ببینم ذخیره سیسن ها که دارای اطلاعات کابرها هستن در دیتابیس برام مشکلی پیش نمیاره!؟ (هاستم اشتراکی نیست!)

eshpilen
یک شنبه 19 تیر 1390, 13:01 عصر
اصلا امن نیست.
چون هرکس که این الگوریتم رو بدونه یا کشف کنه میتونه برای هر نام کاربری ای که میخواد یک کوکی لاگین جعلی درست کنه و بجای کاربر مورد نظر لاگین بشه.

همچنین این نام کاربری رو به صورت md5 داخل یه کوکی ذخیره میکنم!
strlen($_COOKIE['login']) == 21

مگه طول خروجی md5 این مقدار (21) هست؟ بنظرم 32 هست که :متفکر:

kamalhamidi
یک شنبه 19 تیر 1390, 17:41 عصر
مگه طول خروجی md5 این مقدار (21) هست؟ بنظرم 32 هست که :متفکر:

من طولش رو اینجوری کات میکنم!!


$set = substr(md5($user.'a!1!@2@#3#^Z'),2,21);

as13851365
یک شنبه 19 تیر 1390, 19:01 عصر
بهتره کمی درباره بحث امنیت و روشهای هک کردن مطالعه داشته باشی به طبع این گونه سوالات برات پیش نخواهد اومد

eshpilen
یک شنبه 19 تیر 1390, 19:10 عصر
من طولش رو اینجوری کات میکنم!!
واسه چی کات میکنی خب؟!

kamalhamidi
یک شنبه 19 تیر 1390, 22:23 عصر
واسه چی کات میکنی خب؟!

برای اینکه امن تر بشه..!

نکنه کارم اشتباه!؟ البته من دیگه بیخیال این روش شدم و برای مشکل کارم سراغ روش دیگه ایی رفتم!

eshpilen
دوشنبه 20 تیر 1390, 09:42 صبح
والا طول در اینطور چیزا کمتر میشه امنیتش هم کمتر میشه. چون تعداد حالتهای ممکن کمتر میشه.
ولی فکر کردم شاید واسه این کات کردی که هکر از روی محتوی کوکی نتونه بفهمه که از هش md5 استفاده شده.