View Full Version : session expire
pary_daryayi
چهارشنبه 21 خرداد 1393, 14:57 عصر
در حالت عادی وقتی مرورگر بسته میشه ، سشن هم از بین میره .
اما در کد ایگنایتر این اتفاق نمیفته .
تو تنظیمات کانفگیک اینا رو ست کردم اما جواب نمیده :
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = -1;
$config['sess_expire_on_close'] = TRUE;
$config['sess_encrypt_cookie'] = TRUE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
joker
چهارشنبه 21 خرداد 1393, 21:29 عصر
من تغییر خاصی در تنظیمات ندادم ، این مشکلی که میگن ندارم
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = FALSE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
سوال :
سشن را در فایل نگهداری میکنه ( فولدری توی php.ini تعریف کردید ، یا در دیتابیس نگهداری میکنید؟
MRmoon
چهارشنبه 21 خرداد 1393, 21:55 عصر
من تغییر خاصی در تنظیمات ندادم ، این مشکلی که میگن ندارم
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = FALSE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
سوال :
سشن را در فایل نگهداری میکنه ( فولدری توی php.ini تعریف کردید ، یا در دیتابیس نگهداری میکنید؟
فکر کنم CI سشن ها رو تو کوکی ذخیره می کرد. یا اشتباه می کنم؟
pary_daryayi
پنج شنبه 22 خرداد 1393, 13:34 عصر
فعلا نه فایل نه دیتابیس
joker
پنج شنبه 22 خرداد 1393, 14:50 عصر
تنظیمات php.ini
session.save_handler = files
session.save_path = "your directory for temp sessionfile"
فایل session.php در فولدر system/library را هم که احیانا دستش نزاشتی؟
class CI_Session {
var $sess_encrypt_cookie = FALSE;
var $sess_use_database = FALSE;
var $sess_table_name = '';
var $sess_expiration = 7200;
var $sess_expire_on_close = FALSE;
var $sess_match_ip = FALSE;
var $sess_match_useragent = TRUE;
var $sess_cookie_name = 'ci_session';
var $cookie_prefix = '';
var $cookie_path = '';
var $cookie_domain = '';
var $cookie_secure = FALSE;
var $sess_time_to_update = 300;
var $encryption_key = '';
var $flashdata_key = 'flash';
var $time_reference = 'time';
var $gc_probability = 5;
var $userdata = array();
var $CI;
var $now;
اگه با همه این موارد باز هم بعد از بسته شدن صفحه و بازشدن مجدد مثل اینه که سشنت از بین نرفته حکما بحث کوکی و ماندگاری اون هست ، کد که نوشتین را بزارید ببینیم چی داره دقیقا
pary_daryayi
شنبه 24 خرداد 1393, 15:29 عصر
نه این فایل رو دستکاری نکردم
session.php
کدوم قسمت کد رو بدم ؟
من فقط یه سشن ست کردم . همین :
$this->session->set_userdata('sess_cap',$data['cap_word']);
این هم قسمت config :
$config['sess_cookie_name'] = 'ci_session';$config['sess_expiration'] = 7200;$config['sess_expire_on_close'] = FALSE;$config['sess_encrypt_cookie'] = FALSE;$config['sess_use_database'] = FALSE;$config['sess_table_name'] = 'ci_sessions';$config['sess_match_ip'] = FALSE;$config['sess_match_useragent'] = TRUE;$config['sess_time_to_update'] = 300;
اینو هم ست کردم :$config['encryption_key']
و librarry مربوط به سشن هم که در autoload ، لود کردم
plague
یک شنبه 25 خرداد 1393, 11:03 صبح
من یه سایت داشتم با مشکلی مشابه شاید شما هم بخاطر همین باشه
متوجه شدم که از یه سیستم کش کوئری کلود فلیر استفاده میکنن و از اونجایی که سشن ها رو از دیتابیس میخوند و کوئری ها سیو میشدن مشکلات زیادی رو بوجود میورد از جمله اکسپایر نشدن سشن و شناسایی کاربر قبلی به جای کاربر فعلی
pary_daryayi
یک شنبه 25 خرداد 1393, 19:00 عصر
راه حل چیه ؟
joker
دوشنبه 26 خرداد 1393, 16:17 عصر
مطمئنی هر بار واقعا رندوم تولید میشه ؟ مقدار
$data['cap_word']
قبلش نمایش بده یه وقت درجا و ثابت داره تولید میکنه شما به اشتباه فکر میکنی سشن مشکل داره ( چون یکبار حواسم نبود این بلا سرم اومد :)
اگه بازم نشد ، یک نمونه سورس بزارید ما هم روی کد ایگنیتر خودمون تست بگیریم اگه برای ما هم مشکل نمایان بشه ، شاید معلوم شد ایراد کار کجاست
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.