ببينيد. من اون قسمت رو كه مد نظرم بود پيدا كردم :
فايل core.classes.php
کد:$currentSession->generateId();                 if (!$currentSession->insert()) {                     die( $currentSession->getError() );                 }                 setcookie( $sessionCookieName, $currentSession->getCookie(), time() + 43200, '/' );                 //$_COOKIE["sessioncookie"] = $session->getCookie();                 if ($usercookie) {                     // Remember me cookie exists. Login with usercookie info.                     require_once (mamboCore::get('mosConfig_absolute_path').'/includes/authenticator.php');                     $authenticator =& mamboAuthenticator::getInstance();                     $authenticator->authenticateUser ($message, $usercookie['username'], $usercookie['password'], null, $currentSession);                 }
تو وارد شدن به مديريت هم مشكلي ندارم
session ايجاد ميشه فقط با ورود كاربر. اما با ورود ويزيتور (بازديد كننده) ايجاد نميشه.
ميتونيد بگيد تو چه بخشي session يك بازديد كننده مورد استفاده قرار ميگيره؟
من احتمال ميدم تو بازديد مطالب و يا راي به مطالب باشه. (مثلا  با چك كردن session نمي ذاره يه كاربر دوبار راي بده به يه مطلب)
من تو قسمت غير مديريت سايت اصلا ورود و يا ثبت نام كاربر ندارم.
پاسخ : سوال : Cpu Usage بالاي يك query
« پاسخ #20 : امروز، ساعت 13:22 »
نقل قول ويرايش حذف تقسیم موضوع
حتي تو بخش امتياز دادن به مطالب هم هنوز اجازه دوبار امتياز دادن پشت سر هم رونداريم. پس ميشه بگيد اين session ها براي ويزيتور ها چه فايده اي داره؟؟؟؟
(به جز موردي كه خودم گفتم : شمردن حاضرين در سايت)
و يه چيز خيلي مهمتر.توي سايت الان با phpmyadmin اين table رو نگاه كردم و مشاهده كردم 136,979 تا آيتم تو اين table وجود داره. (براي سايتي كه فقط 3 كاربر ادمين داره)  افراد انلاين به طور متوسط 20 نفر هستش. و بازديد در روز حدود 2400 نفر. آيا اين مقدار session بيش از حد نيست؟ آيا به من حق نميديد كه چاره اي براي اين بخش پيدا كنم ؟!؟
فقط با حذف :
کد:$currentSession->generateId(); if (!$currentSession->insert()) { die( $currentSession->getError() ); }
و
کد:$database->setQuery("DELETE FROM #__session WHERE (time<$past AND guest>=0) OR (time<$adminpast AND guest<0)");
از فايل core.classes.php
نتيجه مطلوب حاصل ميشه (البته براي سايت هايي كه تو صفحات سايت ورود و ثبت نام كاربر ندارند و فقط از پانل مديريت استفاده مي كنند)
البته با حذف بخش دوم اگر در سيستمي غير از سيستم شخصي خودتون به پانل مديريت لاگين ميشيد بايد حتما پس از پايان كارتون بايد خروج رو بزنيد چون با گذشت زمان session شما expire نميشه.
** N پست شما یکی شد





علاقه مندی ها (Bookmarks)