Таблица Codeigniter ci_sessions, в которой IP-адрес хранится как 0.0.0.0. Почему? даже при размещении я получаю 0.0.0.0

Здравствуйте, в моем codeigniter я создал таблицу как ci_sessions со следующими полями

CREATE TABLE IF NOT EXISTS  `ci_sessions` (
    session_id varchar(40) DEFAULT '0' NOT NULL,
    ip_address varchar(45) DEFAULT '0' NOT NULL,
    user_agent varchar(120) NOT NULL,
    last_activity int(10) unsigned DEFAULT 0 NOT NULL,
    user_data text NOT NULL,
    PRIMARY KEY (session_id),
    KEY `last_activity_idx` (`last_activity`)
);

Каждое поле работает нормально, за исключением IP-адреса, который хранится как 0.0.0.0 для каждого клиента. Я отредактировал мой config.php, как показано ниже.

$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']    = TRUE;
$config['sess_table_name']      = 'ci_sessions';
$config['sess_match_ip']        = TRUE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update']  = 300;

1 ответ

С Linode ваше приложение скорее всего за прокси. Вы можете узнать свой IP прокси и добавить его в белый список в вашем конфигурационном файле CodeIgniter (внизу /application/config/config.php), или следуйте указаниям в справочнике Nodebalancer от Linode по использованию Apache mod_rpaf модуль для переназначения X_FORWARDED_FOR в REMOTE_ADDR.

Другие вопросы по тегам