0

私には、ユーザーが正常にログインするたびに行を書き込むdatabaseテーブルがあります。LOG

ユーザーlog-outが. logout.php_ $_SESSION_database

LOGそれを回避する方法、または有効期限が切れるたびに自動的に書き込む方法は$_SESSION?

4

3 に答える 3

1

これを行うのは一般的にかなり面倒です。PHP は、意味のある方法でセッションの有効期限を公開していません。

ただし、通常、PHPはcronジョブをインストールしてセッションを期限切れにします(私のLinuxサーバーではそうです/etc/cron.d/php5):どのように行うかはわかりませんが、システム上の同等のスクリプトを変更して、削除しようとしているログファイルを開くことができますし、それらの ID をログ データベースに送信します。

于 2013-05-29T01:11:39.090 に答える
1

独自のセッション保存ハンドラを実装できます。これは、保存ハンドラの destroy および GC メソッドで処理する必要があります。

于 2013-05-29T01:21:36.910 に答える
0

セッションの期限切れはすべてブラウザーで処理され、サーバーはまったく関与しないため、セッションの期限切れがサーバーに通信してデータベースへの書き込みを引き起こす方法はありません。

そうは言っても、探しているものに戻る方法はあります。Cookie がクライアント ブラウザに保存される期間がわかっている場合、開始時刻を更新する最後のサイト アクセスをログに記録すると、タイムアウトより古いすべてのアクセスをチェックできます。

セッションがブラウザー セッションのために存続する場合、あなたは SOL です。アクセス時間を記録し、残りを推測するだけです。

于 2013-05-29T01:13:37.713 に答える