|
session_regenerate_id現在のセッションIDを新しく生成したものと置き換える 説明
bool session_regenerate_id(bool
$delete_old_session = false )session_regenerate_id は現在のセッションIDを 新しいものと置き換えます。その際、現在のセッション情報は維持されます。 session.use_trans_sid が有効な場合は、 session_regenerate_id を呼んでから出力を始めないといけません。 それ以前の出力には、古いセッション ID が使われます。 警告
現在の session_regenerate_id は、不安定なネットワークをうまく扱えません。 たとえば、モバイルネットワークや WiFi ネットワークです。 よって、 session_regenerate_id を 呼ぶことで、セッションの消失を経験するかもしれません。 すぐに古いセッションデータを破棄すべきではありませんが、 古いセッションID のタイムスタンプと、 アクセス制御は破棄すべきでしょう。 さもないと、ページへの同時アクセスによって、 状態の不整合が発生したり、セッションが失われたり、 クライアント(ブラウザ) 側のレースコンディションが発生したり、 不必要なセッションIDをたくさん作らなければならなくなるかもしれません。 セッションデータをすぐに破棄してしまうと、 セッションハイジャックの検出だけでなく、 防止もできなくしてしまいます。 パラメータ
戻り値
成功した場合に 例
例1 session_regenerate_id の使用例
<?php 現在のセッションモジュールは、不安定なネットワークをうまく扱えません。 session_regenerate_id によるセッションの消失を避けるために、 セッションIDを管理すべきです。
例2 session_regenerate_id による、セッションの消失を避ける
<?php 参考
|