2012-05-07 15 views

答えて

2

セッションはサーバー側のメカニズムなので、セッションを開始および管理するサーバーロジックが必要です。

1

JSに直接アクセスすることはできません。これは、サーバー上に保存され、javascriptはクライアント上で実行されます。しかし、間接的に行うことができ、例えば、それを隠されたファイルに格納し、それをサーバに提出し、隠されたファイルの値を取り出してセッションに割り当てることができる。

5

JavaScriptはクッキーのみをサポートします。ユーザーセッションを追跡するように設定することはできますが、セッションの使用はサポートしていません。

function createCookie(name,value,days) { 
    var expires = ""; 
    if (days) { 
     var date = new Date(); 
     date.setTime(date.getTime()+(days*24*60*60*1000)); 
     expires = "; expires="+date.toGMTString(); 
    } 
    document.cookie = name+"="+value+expires+"; path=/"; 
} 

function readCookie(name) { 
    var nameEQ = name + "="; 
    var ca = document.cookie.split(';'); 
    for(var i=0;i < ca.length;i++) { 
     var c = ca[i]; 
     while (c.charAt(0)==' ') { 
      c = c.substring(1,c.length); 
     } 
     if (c.indexOf(nameEQ) == 0) { 
      return c.substring(nameEQ.length,c.length); 
     } 
    } 
    return null; 
} 

function eraseCookie(name) { 
    createCookie(name,"",-1); 
} 

出典:http://www.daniweb.com/web-development/javascript-dhtml-ajax/threads/19283/how-to-save-session-values-in-javascript

1

たちはJavaScriptを利用してHTMLページでセッション処理を行うことができますか?

間接的にAJAXを使用して、セッションを認識するサーバー側のHTTPハンドラを呼び出します。 jQuery.ajax()はAJAXを簡単にして、多くの例があります。

は、例えば、これは、WCFエンドポイント、Webサービス、またはセッション状態が維持されているのと同じプロセスへのアクセス権を持っていてもページを呼び出すことにより、.NETで行われます。

あなたは両方このようにセッションで/設定値を取得することができます。

2

用語「セッション」は、通常、自然にいくつかのサーバー側のスクリプトなしで使用することはできませんサーバー側のメカニズム、使用されているときにのみ、ログイントラッキングを持っているしたい場合、あなたはJSで擬似セッションを実装することができ:

  • )は、(値としてユーザのログインのタイムスタンプ
  • 更新新しいタイムスタンプ、ユーザが
  • がしたsetIntervalと疑似cronジョブを実行する重要なアクションを作るたびにこのフィールドに隠されたフィールドを実装します、非表示フィールドの値が許可されたセッション時間よりも古いかどうかを確認してください。
    • それは古いだ場合、

は気をつけて、あなたのセッションタイムアウトのコードを実行し、しかし、 1.このようなメカニズムは、あなたのサイトやパラメータ(見たアクションに応じて、あなたのクライアントのブラウザでいくつかのストレスを引き起こす可能性があり、チェック間隔の頻度) 2.ユーザーがブラウザのウィンドウ/タブを閉じるとこれが生き残らない

1

今日(2017年9月)HTML5 Web Storage機能の使用をお勧めします。 W3C引用

HTMLウェブストレージを、クッキーよりも良い HTML Web Storageとは何ですか?

ウェブストレージを使用すると、ウェブアプリケーションはローカルのデータを ユーザーのブラウザに保存できます。

HTML5より前には、アプリケーションデータをすべてのサーバー要求に を含めてCookieに保存する必要がありました。ウェブストレージはより安全で、大量のデータはウェブサイトのパフォーマンスに影響を与えずにローカルに保存することができます。

クッキーとは異なり、保存容量の制限がはるかに大きく(少なくとも5MB)、 という情報は決してサーバーに転送されません。

Webストレージは、(ドメインおよびプロトコルごとに)原点ごとです。すべてのページは、 由来で、同じデータを格納してアクセスすることができます。それが動作し、どのようにここでそれを実装する方法について

詳細:https://www.w3schools.com/html/html5_webstorage.asp

はまた、MDNドキュメントは、さらに詳細については、良い情報源です:

が明らかにウェブストレージに格納されたデータを暗号化するhttps://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage傷つけません。