jQueryまたはjavascriptを使用して、ログアウトボタンをクリックせずにユーザーがログオフしていないことを識別する方法。
ここでは、ブラウザの戻るボタンを押して前のページに戻るときに、ユーザーがログオフしていないときにログアウト ボタンを表示する必要があります。
ここに私のログアウトボタンがあります:
<a id="webviewbtn" href="#"><img src="img/logout.png" style="float:right;" /></a>
jQueryまたはjavascriptを使用して、ログアウトボタンをクリックせずにユーザーがログオフしていないことを識別する方法。
ここでは、ブラウザの戻るボタンを押して前のページに戻るときに、ユーザーがログオフしていないときにログアウト ボタンを表示する必要があります。
ここに私のログアウトボタンがあります:
<a id="webviewbtn" href="#"><img src="img/logout.png" style="float:right;" /></a>
リソースを節約するために、サーバーへの非同期呼び出しを必要としないメソッドを好むでしょう。
ログインすると、システムはセッション ID を使用して Cookie を設定します。バックエンドを介して Cookie を設定することもできます。これは、顧客がログインしているかどうかを判断するために使用できます。
//using php here
setcookie('customer',1); //customer is logged in
setcookie('customer',0); //customer is not logged in
フロントエンドでは、jquery/javascript を使用してそのステータスを確認できます。ここでは、jquery Cookie プラグインが含まれていると想定しています https://github.com/carhartl/jquery-cookie
if ( $.cookie('customer') === 1 ){
$('#webviewbtn').show(); //show logout button
}
else{
$('#webviewbtn').hide(); //no logout button needed
}
そのシナリオでは、「顧客」Cookie がセッション Cookie と同じドメインと同じ期間を持つことが非常に重要です。そうしないと、リピーターのお客様の Cookie が 1 に設定されたままになっている可能性がありますが、セッション Cookie は既に古くなっています。また、顧客から呼び出されたすべてのアクションは、顧客 === 1 の状態がまだ有効であることを確認するために、バックエンドで確認する必要があります。そうしないと、誰もがその Cookie を 1 に設定できるため、大きなセキュリティ上の問題が発生します:)
Web ページで任意の形式のアクションを実行する場合は、ユーザーを検証する Web サービスをメソッドで非同期または同期的に呼び出します。
サーバーが OK メッセージを返した場合、ユーザーは引き続きログインします。このアクションは、ログアウト ボタンをレンダリングするとき、またはユーザーがその他の「重要な」アクションを実行するときに実行できます。
有効期限のある Cookie に情報を保存することもできます。これは、ブラウザの戻るボタンを押すと、Cookie がクリアされ、ユーザーがログアウトされるか、または何を持っているかを管理できます。
この実装には多くの可能性がありますが、残念ながら、ここで提供する「ベスト プラクティス」のケースはありません。