2011-12-20

PHPセッション開始のサンプル

# セッションIDの保存は、クッキーのみを利用する。

ini_set('session.use_cookies', 1);
ini_set('session.use_only_cookies', 1);
ini_set('session.use_trans_sid', 0);


# セッション名を変更する。

session_name('SITENAME');


# 第1引数:セッションクッキーの有効時間(秒数)。0でブラウザを閉じるまで。
# 第2引数:セッションクッキーが有効なパス。供用サーバーで独自ドメインがない場合は、
#      自分が管理するディレクトリ以下に対してのみ、ブラウザからセッションクッキ
#      ーを送信させる。
# 第3引数:セッションクッキーが有効なドメイン。
# 第4引数:HTTPSでのみセッションクッキーを有効とする場合は、true とする。
# 第5引数:セッションクッキーへのアクセスはHTTPのみとし、JavaScriptからのアク
#        セスは許可しない。

session_set_cookie_params(0, '/user/', NULL, false, true);


# セッションを開始する

session_start();


# セッションハイジャック対策
# セッション固定化攻撃対策
# F5連打対策
# 前回セッションIDを再生成した日時と現在日時を比較し、一定期間(例えば20分)経過
# していたら、セッションIDを再生成する。

$_SESSION['lasttime'] = isset($_SESSION['lasttime']) 
                      ? $_SESSION['lasttime'] : 0;
$now = time();
if (($_SESSION['lasttime'] + 20 * 60) < $now) {
    session_regenerate_id(true);
    $_SESSION['lasttime'] = $now;
}

0 件のコメント:

コメントを投稿

Chatの「メッセージは投稿者によって削除されました」を非表示にする方法

Chrome拡張機能を自作してやってみよう! ♪できるかな できるかな ・・・ 無理ぽ (´・ω・`) iframeの中に、実際のメッセージのやり取りが表示されるので、 $(function(){ $('iframe[name^="spa...