Если данные сессии находятся в базе данных, то каждый раз, когда в cookies пользователя обнаруживается рабочая сессия, осуществляется запрос к базе данных - с целью сравнить ID сессий. Если ID сессии не совпадают, то сессия разрушается. ID сессии никогда не обновляется, он может быть лишь сгенерированным, когда сессия создается.
function sess_read()
{
// Fetch the cookie
$session = $this->CI->input->cookie($this->sess_cookie_name);
if ($session === false AND (strstr($this->CI->input->server('USER_AGENT'),'shockwave') or strstr($this->CI->input->server('USER_AGENT'),'Adobe Flash'))) {
$session = url_decode($this->CI->input->post('cookie'));
}
// Does the User Agent Match?
if ($this->sess_match_useragent == TRUE AND trim($session['user_agent']) != trim(substr($this->CI->input->user_agent(), 0, 50)))
// Does the User Agent Match?
if ($this->sess_match_useragent == TRUE AND ( !$is_flash AND trim($session['user_agent']) != trim(substr($this->CI->input->user_agent(), 0, 50))))
var $root;
function __construct(){
parent::Controller();
$this->root=$this->session->userdata('root');
}
function _remap($method){
if($this->root) $this->$method();
else redirect('/');
} switch($method){
case 'filesupload';
$this->$method();
break;
default;
if($this->root) $this->$method();
else redirect('/');
} 'scriptData' : {'<?=$sess_cookie_name; ?>' : '<?=$sess_cookie; ?>'}
Message: Undefined variable: sess_cookie
post_params: {'<?=$sess_cookie_name; ?>' : '<?=$sess_cookie; ?>'}'scriptData' : {'${sess_cookie_name}' : $.cookie('${sess_cookie_name}')} $session = $this->CI->input->post($this->sess_cookie_name); $session = urldecode($this->CI->input->post($this->sess_cookie_name)); $("#upload").uploadify({
'uploader' : '/resources/libraries/uploadify/uploadify.swf',
'script' : '/admin/upload',
'cancelImg' : '/resources/libraries/uploadify/cancel.png',
'queueID' : 'fileQueue',
'auto' : true,
'multi' : false,
'hideButton' : true,
'fileExt' : '*.jpg;*.png;*.jpeg',
'fileDesc' : 'Image Files',
'sizeLimit' : '1048576',
'method' : 'POST',
'scriptData' : {'<?= $sess_cookie_name ?>' : $.cookie('<?= $sess_cookie_name ?>')},
'buttonImg' : '/resources/admin/images/search.gif',
'onComplete' : function (event, queueID, fileObj, response, data) {
}
});
....
function __construct()
{
parent::__construct();
$this->load->library('ion_auth');
$this->load->library('session');
$this->load->library('form_validation');
if (!$this->ion_auth->logged_in() || !$this->ion_auth->is_admin()) redirect('auth');
}
public function index() {
....
$data['sess_cookie_name'] = $this->session->sess_cookie_name;
$this -> load -> view('edit', $data);
}
function upload() {
.... if (!$this->ion_auth->logged_in() || !$this->ion_auth->is_admin()) redirect('auth'); customsoft.ru писал(а):Этот загрузчик позволяет передавать параметры? Можно передать идентификатор сессии, поймать его в контроллере и восстановить сессию по нему. Как бы просто. Так часто делают для флешек.
Вернуться в Общие вопросы по фреймворку
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1