Таблица 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 Линоде за использование Apache mod_rpaf модуль для переназначения X_FORWARDED_FOR в REMOTE_ADDR.

0

Другие решения

Других решений пока нет …