PDA

View Full Version : سوال: logout خودکار بعد از مدتی که کاربر بیکار باشه!!



...!M.J!...
یک شنبه 04 مهر 1389, 16:21 عصر
سلام بهمه دوستان

من میخواستم بدون چه جوری مشیه کاربری گه مثلا به سایتی وارد شده و مثلا مدت 15 دقیقه در وبسایت فعالیت نداشته وقتی مجد به سایت برگشت بطور اتومات لوگوت بشه؟؟

نمونه این توی صفحه admin جوملا هست اگه مدتی با محیط admin کار نکنی لوگوتت میکنه

ممنوون

sama01
یک شنبه 04 مهر 1389, 17:43 عصر
این بستگی داره که شما چه سیستمی برای login استفاده می‌کنید.

مثلا فرض کن شما از کوکی استفاده می‌کنید.
یعنی یکی سری اطلاعات را در کوکی ذخیره می‌کنی و وقتی کاربر درخواستی رو به سرور می‌فرسته آن اطلاعات را می‌گیری و بررسی می‌کنی که آیا مجاز به دسترسی است یا نه.
دو حالت پیش می‌آد:
1.
کاربر قبل از انقضای کوکی، خودش logout می‌کنه. در این حالت شما می‌آی و کوکی رو پاک می‌کنی.

2.
کاربر خودش خارج نمی‌شه. ولی آن قدر دیر به سایت سر می‌زنه که کوکی منقضی می‌شه. عملا این یعنی این‌که کوکی‌ای وجود نداره که بشه باهاش این کاربر رو بررسی کرد. و به نوعی خارج شده است.

این یک مثال ساده بود که با استفاده از زمان انقضای کوکی می‌شه باهاش کار کرد.
حالا بسته با سیستمی که شما ازش استفاده می‌کنید، روش اجرا کمی متفاوت می‌تونه باشه. ولی اصلش همینه.

binyaft
یک شنبه 04 مهر 1389, 18:32 عصر
شما هر بار که کاربر در کنترل پنل هست زمان رو در دیتابیس بزار بعد برای دفعه بعد که وارد شد اگر زمان ثبت شده بیشتر از زمان مورد نظر شما بود کاربر رو لاگ اوت کن زمان رو هم به نظر من با تابع time ذخیره کن

...!M.J!...
یک شنبه 04 مهر 1389, 21:36 عصر
چطور میشه فهمید که یک کاربر الان در حال فعالیت با سایت هست یا نه؟؟؟

من برای دفعه های متعدد لوگین کردن منظورم نیست

من سوالم این هست مثلا شما این فروم رو باز میکنی لوگین میکنی بعد کاری پیش میاد میری بیرون 20 دقیقه دیگه برمیگردی وروی یک لینک کلیک میکنی ولی بمحض کلیک کردن تورو میبره به صفحه لوگین و میگه مجدد لوگین کن!!!

sama01
دوشنبه 05 مهر 1389, 00:49 صبح
خوب من هم همین رو گفتم دیگه.
اگر Login شما از کوکی استفاده کنه (که اصولا این‌طوره) زمان اعتبار کوکی را باید به اندازه‌ی 20 دقیقه بگذارید.
هر بار که کار بر درخواستی را به سرور می‌فرسته، چک می‌شه که آیا این کاربر مجاز است یا نه و اگر بود، کوکی آن به روزرسانی می‌شه.
حالا اگر کاربر برای مدتی بیش از حد تعیین شده، درخواستی به سرور نفرسته، کوکی به طور خودکار پاک می‌شه. در این حالت اگر درخواستی به سرور بفرسته، چون کوکی نداره، سایت شما او را نمی‌تواند شناسایی کند و او را به صفحه‌ی login هدایت می‌کند.

در پست قبلی هم همین را گفتم.
جزئیات کار، بستگی به سیستم کاری شما داره.

alonemm
دوشنبه 05 مهر 1389, 14:04 عصر
اگه از
Session
استفاده کنی میتونی بهش timeOute بدی.

maryamrad
دوشنبه 05 مهر 1389, 14:27 عصر
session رو کنترل کردن یکی از رایج ترین روشها برای این منظور است