codeigniter には、セッション値をデータベースに保存する機能があることがわかりました。
セッションをデータベースに保存することは、優れたセキュリティ対策であると述べています。
しかし、セッション情報をデータベースに保存すると、パフォーマンスが向上すると思います。
次のようなセッションのいくつかの要素のみを保存します。
CREATE TABLE IF NOT EXISTS 'ci_sessions' (
session_id varchar(40) DEFAULT '0' NOT NULL,
ip_address varchar(16) DEFAULT '0' NOT NULL,
user_agent varchar(50) NOT NULL,
last_activity int(10) unsigned DEFAULT 0 NOT NULL,
user_data text NOT NULL,
PRIMARY KEY (session_id)
);
しかし、サイトがユーザー名や最終ログイン時間などのセッション変数をさらに使用している場合は、それらをデータベースに保存してプログラムで使用できます。
これらの列を同じテーブルに追加する必要がありますか? セッション情報をデータベースに保存することは、Web サーバーのメモリ使用量 (RAM) を減らすのに役立つだけだと思います。どのような意味でセキュリティが向上するのか、誰でも説明できますか?