2017-06-28 29 views
1

私はCodeigniter3を使用しています。私は、特に許可されたユーザ(私たちのサービスのユーザ)のためだけにセッションを生成しようとしています。Codeigniterのセッションを制御する方法

すべてのリクエストに対してcodeigniter 3がセッションを作成しているため、データベースに格納されているセッション数は急激に増加します。そして、私は可能な限りセッションの最小数を保持したい。

セッションの設定は次のとおりです。

$config['sess_driver'] = 'database'; 
$config['sess_cookie_name'] = '_s'; 
$config['sess_expiration'] = 0; 
// $config['sess_save_path'] = NULL; 
$config['sess_save_path'] = 'CiSessions'; 
$config['sess_match_ip'] = FALSE; 
$config['sess_time_to_update'] = 30000; 
$config['sess_regenerate_destroy'] = FALSE; 

答えて

1

私はこれは私が想像することができます 唯一のことは、クッキー

意味の使用であることは不可能であるCodeIgniterの中で推測:

ログインページでは

$this->load->helper("cookie"); 
$cookie = array(
    'name' => 'isLoggedIn', 
    'value' => '1', 
    'expire' => '7200', 
    'path' => '/' 
); 
$this->input->set_cookie($cookie); 
のようにクッキーを設定します

あなたのautoload.php

あなたsi mplyクッキーが設定されている場合にのみ

$arrAutoloadLibraries = ["database","user_agent"]; 
if ($_COOKIE['isLoggedIn'] == 1) 
{ 
    $arrAutoloadLibraries[] = "session"; 
} 

$autoload['libraries'] = $arrAutoloadLibraries; 

は、あなたが直面しているいくつかの論理的な問題があるので注意してください、このライブラリをロードする(ユーザーは単にログインページを訪問し、その後離れた場合に何が起こるか、何がなど、失敗したログイン試行で発生します。) あなたはこれらの可能性について考えなければなりません。このソリューションは、うまく動作します)

+0

;

私は、このアプローチが好きではありませんが、私が言ったようにそれが頭に浮かんだ唯一のこと、です。ありがとう^^ –

関連する問題