-2

T-mobile はすでにこのロジックを使用していますが、その方法がわかりません。

これがシナリオです。私は自分の Web サイトにログインし、2 分間何もせず、ただ座って画面を見ていたとします。このような場合、セッションが破棄されるログアウト ページにリダイレクトする必要があります。

これどうやってするの?

Web 上の例は、ユーザー アクティビティの後に何か (最後のアクティビティなど) を確認するなどのユーザー アクションに基づいています。

注: Codeigniter とそのデータベース セッションを使用しています。

4

2 に答える 2

3

JavaScript が必要です:

<script type="text/javascript">
setTimeout(onUserInactivity, 1000 * 120)
function onUserInactivity() {
   window.location.href = "onUserInactivity.php"
}
</script>

これにより、非アクティブ状態が 2 分間続くとユーザーがリダイレクトされます。マウスの動きに依存させたい場合は、次を試してください。

<script type="text/javascript">
inactivityTimeout = False
resetTimeout()
function onUserInactivity() {
   window.location.href = "onUserInactivity.php"
}
function resetTimeout() {
   clearTimeout(inactivityTimeout)
   inactivityTimeout = setTimeout(onUserInactivity, 1000 * 120)
}
window.onmousemove = resetTimeout
</script>
于 2013-04-12T08:40:19.127 に答える
1

したがって、ページの読み込み時に

$now = mktime();
if($now - $_SESSION['last_activity'] < 120)
{
 $_SESSION['last_activity']=mktime(); 
}else{
 logout();
}

最後のアクティビティから 120 秒が経過しましたか? それらをログアウト/セッションを破棄するなど。

ページがアイドル状態になった後に自動的にログアウトするには、javascript を使用する必要があります。

JavaScript を使用せず、ユーザーの操作なしでこれを実行したい場合は、これをすべてのビューに配置します。

<meta HTTP-EQUIV="REFRESH" content="120; url=http://www.yourdomain.com/logout.php">

ページで 120 秒後にログアウト画面にリダイレクトされます。彼らがそうクリックした場合

于 2013-04-12T08:41:18.860 に答える