PDA

نسخه کامل مشاهده نسخه کامل : سیستم کاربری امن



K@M@L
09-07-2011, 21:29
سلام

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

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

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

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

اینم کدش:


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

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

neopersia
09-07-2011, 22:21
سلام

استفاده از نام کاربری به تنهایی برای لاگین نگه داشتن کاربر اشتباه هست چون نام کاربری هر کاربر برای همه مشخص هست و میشه با هش کردن اون یه کوکی جعلی ایجاد بشه و از سشن کاربر استفاده کرد

برای این کار به نظر من بهتره که از پسورد هش شده بعلاوه آی دی سشنی که به کاربر اختصاص داده شده (اون هم به صورت هش شده) برای مطمئن شدن از صحت کوکی استفاده بشه. در ضمن سالت کردن رو هم هنگام هش کردن اطلاعات فراموش نکنید. ضمن اینکه بهتره یک مدت زمان مشخص هم برای لاگین نگه داشتن کاربر در نظر بگیرید

همینطور میشه در دیتابیس برای یوزرهایی که تیک همیشه لایگن بودن را موقع ورود چک زدند یک فیلد اضافه کنید تا اجازه لاگین به وسیله کوکی رو بده و یا یک رشته رندوم برای کاربر در دیتابیس ثبت کنید که موقع سالت کردن اطلاعات ازش استفاده بشه و بعداً بتونید با استفاده از این اطلاعات کوکی رو چک کنید

K@M@L
10-07-2011, 00:16
سلام

ببنید کد صفحه لوگین من به صورت زیره:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

و با توجه به کد این قسمت:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

من آمدم از نام کاربری استفاده کردم!

هر چند گفته شما کاملا صحیحه و من باید کدهام رو تغییر بدم!

اما در کل به نظرتون کد من چقدر امنیت داره!؟

تشکر.!