Sessionigniter не возвращает пользовательский агент или IP-адрес или идентификатор сеанса

user3514297 спросил: 28 марта 2018 в 01:37 в: codeigniter

Я использую этот код в своем контроллере:

public function index() {
    $this->load->library('session');
    echo "<pre>";
    print_r($this->session->all_userdata());
    echo "</pre>";
}

, и это результат:

Array
(
    [__ci_last_regenerate] => 1524275027
    [identity] => admin
    [username] => admin
    [email] => admin
    [user_id] => 1
    [old_last_login] => 1524182225
    [last_check] => 1524274694
)

Я использую codeigniter 3.1 с ion_Auth

, поэтому, как получить все данные, такие как user_agent, ip, ...?


1 ответ

Vickel ответил: 28 марта 2018 в 07:39

Библиотека сеансов Codigniter была переписана для версии 3.0 и имела некоторые исправления ошибок до самой последней версии 3.1.8.

В более ранних версиях CI (2.x) массив данных сеанса имел 4 элемента по умолчанию:

'session_id',
'ip_address',
'user_agent',
'last_activity'

Теперь в новых версиях CI вы по-прежнему можете получить доступ к этим данным, например так (из документов:)

    session_id: session_id()
    ip_address: $_SERVER['REMOTE_ADDR']
    user_agent: $this->input->user_agent() (unused by sessions)
    last_activity: Depends on the storage, no straightforward way. Sorry!

см .: https://www.codeigniter.com/user_guide/ library / sessions.html # accessing-session-metadataand: https://www.codeigniter.com/userguide3/installation/upgrade_300.html#step-6-update-your-session-library-usage