PDA

View Full Version : تشخیص ورود کاربر به برنامه



cimiarnm
پنج شنبه 29 بهمن 1388, 18:15 عصر
با سلام به همگی
چطوری در یک برنامه تحت شبکه تشخیص بدیم که کاربری وارد برنامه شده یا نه تا شخص دیگری از سیستم دیگری با همون کد نتونه وارد برنامه شه؟ در ضمن این حالت رو که بیاریم یک فیلد تشخیص تو پایگاه داده بزاریم رو فکر کنم خوب نباشه چون اگه هیویی برقا بره کد کاربر قفل میشه راه دیگری هست؟؟

debugger
پنج شنبه 29 بهمن 1388, 22:36 عصر
کد های هر سیستم باید منحصر به فرد باشه
و کد یک سیستم در دیگری جواب ندهد

این بهترین حالت است . برای تولید رمز هم می تونی از سریال مک ادرس استفاده کنی

نمی دونم چقدر تونستم راهنمایی کنم ولی روش فکر کن

cimiarnm
جمعه 30 بهمن 1388, 00:06 صبح
کد های هر سیستم باید منحصر به فرد باشه
و کد یک سیستم در دیگری جواب ندهد

این بهترین حالت است . برای تولید رمز هم می تونی از سریال مک ادرس استفاده کنی

نمی دونم چقدر تونستم راهنمایی کنم ولی روش فکر کن

سلام . حرف شما متین . ولی به نظر شما این کار منطقی هست ؟ آیا این کار مفهوم شبکه را محدود نمیکند؟ یعنی مثلا کاربرها خواستند جای هم را عوض کنند باید سیستم هاشون رو عوض کنند؟

sepehr.net
جمعه 30 بهمن 1388, 01:05 صبح
فکر کنم خوب نباشه چون اگه هیویی برقا بره کد کاربر قفل میشهبرنامه هایی مثل یاهو مسنجر هم این مشکل رو دارن ولی به این صورت این مشکل رو حل کردن که هر چند دقیقه بررسی میکنن که کاربر به سیستم متصل هست یا نه و مقدار اون فیلد رو خودشون تغییر میدن. به همین خاطر اگه شما بدون sign out کردن از برنامه خارج بشی، چراغ آیدی شما هنوز روشنه ولی بعد از چند دقیقه خاموش میشه.
این بهترین روش برای این کاره. ما به هر حال یک فیلد تو جدول برای وضعیت کاربر احتیاج داریم. که مشخص کنه کاربر به سیستم متصل شده یا نه و وضعیت اتصال اون چجوریه

gerdioz
پنج شنبه 13 اسفند 1388, 20:53 عصر
خوب به دقت توجه کن
اول یک جدول درست کن شامل فیلدهای زیر
UserNmae,Password,Status,NameMachin,Start,Finish
فیلد Status به صورت پیش فرض صفر است
اگر کاربر نام کاربری و پسورد اون صحیح بود وارد برنامه شده و وضعیت status رو برابر یک قرار داده و زمان استارت روز در فیلد استارت وارد کرده ودر حین کار با برنامه هر 9 ثانیه زمین Finish رو برابر زمان جاری قرار داده هنگام خروج به صورت دستی زمان خروج رو در فیلد finish ثبت کرده ,و وضعیت status برابر صفر
حالا اگه کاربر دوباره بخواد وارد بشه دوحالت است اگرStatus صفر باشه مجاز است
اما ممکنه بقول شما ناخواسته از برنامه خارج بشه وهمچنان وضعیت یک است چطور باید تشخیص داد کاربر دربرنامه هست یا نه؟
شما هنگام چک کردن رمز عبور و پسوردیک تایمر دربرنامه گذاشته و 10 ثانیه صبر میکنید تا ببینید که در فیلد Finish تغییر میکنه یا نه اگه تغیر کرد به این معنا است که کاربر در سیستم مشغول به کار است و اجازه ورود نداده در غیر این صورت اگر تغییر نکرد به معنای آن است که کاربر در سیستم نبوده و سیستم به صورت دستی پایان یافته اگر دقیقا متوجه نشدی برات سورس اونو بدم
Gerdioz@Lycos.Com