Hello in 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;
答案 0 :(得分:0)
使用Linode,您的应用可能会落后于代理。您可以找到代理IP并将其添加到CodeIgniter配置文件(/application/config/config.php
的底部)中的白名单中,或按照Linode's Nodebalancer Reference上的说明使用Apache mod_rpaf
模块将 X_FORWARDED_FOR 重新映射到 REMOTE_ADDR 。