1

ユーザーがサインアップし、Code Igniter を使用してサインインできるシステムを作成しました。
質問は、システムにサインインした人の電子メールを取得する方法です。

私はこのようなセッションを使用しました

$email=$this->session->userdata('email');

//a db query using the email obtained via session  
$query=$this->db->select('*')->from('referral')->where('referral_email',$email)->get();

ただし、これが最も安全な方法または効果的な方法だとは思いません。
このタスクを達成するためのより良い/安全な方法はありますか?
助けてくれてありがとう

4

1 に答える 1

1

実際、アクティブなセッションをデータベースに保存している限り、これは安全です。

に移動してapplication/config/config.php、ci_sessions テーブルを有効にします

データベースに 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`)
);

データベース セッションが機能する方法は、セッション ID を使用して一意の Cookie を保存することです。このセッション ID は、すべてのユーザー データが格納されるテーブル行の識別子です。そのため、クライアントはデータを表示したり変更したりすることはありません。

あなたの質問に答えてくれることを願っています=]

于 2013-10-24T04:21:49.530 に答える