タグ付けされた質問 「session」

セッションとは、単一のクライアントとサーバー間の通信を指します。セッションはユーザーに固有であり、ユーザーごとに新しいセッションが作成され、そのユーザーからのすべての要求を追跡します。



10
Session.Abandon()とSession.Clear()の違いは何ですか
セッションの破棄とその値の削除の違いは何ですか?これを示す例を挙げていただけますか? この質問を探しましたが、完全な答えはわかりません。いくつかの答えは: Session.Abandon() セッションを破棄します Session.Clear() すべての値を削除するだけです 友人が私にこう言った: セッションをクリアしてもセッションの設定は解除されません。ユーザーのIDは同じですが、値はクリアされたままです。 Abandonはセッションを完全に破棄します。つまり、そのユーザーのセッションに値を保存する前に、新しいセッションを開始する必要があります。 以下のコードは機能し、例外をスローしません。 Session.Abandon(); Session["tempKey1"] = "tempValue1"; セッションをAbandon()すると、あなた(またはユーザー)が新しいSessionIdを取得します セッションをテストしても、セッションを放棄しても何も変わりません。 私はただ1つの違いを見つけます: イベントをsession.Abandon()発生させSession_Endます

9
Spring-mvcでセッション属性を使用する方法
このコードの春のMVCスタイルのアナログを書くのを手伝ってくれませんか? session.setAttribute("name","value"); そして、アノテーションによって@ModelAttributeアノテーションが付けられた要素をセッションに追加して、それにアクセスする方法は?

7
FirefoxセッションCookie
一般的に言えば、有効期限のないCookieが与えられた場合、最新のブラウザはこのCookieを「セッションCookie」と見なし、ブラウザセッションの最後に(通常はブラウザインスタンスが閉じたときに)Cookieを削除します。 IE、Opera、Safari、Chromeはすべてこの動作をサポートしています。 ただし、Firefox(3.0.9最新の適切なリリース)はこのルールに従っていないようです。ブラウザが閉じているとき、またはユーザーがOSをログオフまたは再起動したときに、Cookieが期限切れにならないことがわかります。 それで、FirefoxがこれらをセッションCookieと呼ぶのはなぜですか? FirefoxがセッションCookieの有効期限を処理する方法を知っている人はいますか?
105 firefox  cookies  session 

2
標準セッションの有効期間が24分(1440秒)であるのはなぜですか?
私はPHPセッション処理についていくつかの調査を行っておりsession.gc_maxlifetime、1440秒という値に遭遇しました。なぜ標準値が1440であり、それがどのように計算されるのか疑問に思っていましたか?この計算の根拠は何ですか? セッションを続けることはどのくらい意味がありますか?session.gc_maxlifetimeのどの最小値/最大値をお勧めしますか?値が高いほど、Webアプリがセッションハイジャックに対して脆弱であると私は思います。
101 php  security  session 

4
Node.jsを使用するExpress.jsでセッションはどのように機能しますか?
Express.jsを使用すると、セッションは非常に簡単です。彼らが実際にどのように機能するか私は興味があります。 クライアントにCookieを保存しますか?もしそうなら、どこでそのクッキーを見つけることができますか?必要に応じて、どのようにデコードしますか? 私は基本的に、ユーザーが実際にそのサイトにいないときでも、ユーザーがログインしているかどうかを確認できるようにしたいと思います(他のサイトにいるときにFacebookがログインしていることを知る方法など)。しかし、セッションがどのように機能するかを最初に理解する必要があることを理解すると思います。

3
PHPを使用してクロスサイトリクエストフォージェリ(CSRF)トークンを適切に追加する方法
私は私のウェブサイトのフォームにいくつかのセキュリティを追加しようとしています。フォームの1つはAJAXを使用しており、もう1つは単純な「お問い合わせ」フォームです。CSRFトークンを追加しようとしています。私が抱えている問題は、トークンが時々HTMLの「値」にしか表示されないことです。残りの時間、値は空です。AJAXフォームで使用しているコードは次のとおりです。 PHP: if (!isset($_SESSION)) { session_start(); $_SESSION['formStarted'] = true; } if (!isset($_SESSION['token'])) {$token = md5(uniqid(rand(), TRUE)); $_SESSION['token'] = $token; } HTML <form> //... <input type="hidden" name="token" value="<?php echo $token; ?>" /> //... </form> 助言がありますか?
96 php  security  session  csrf 

9
socket.ioとセッション?
エクスプレスフレームワークを使用しています。socket.ioからセッションデータにアクセスしたい。client.listener.server.dynamicViewHelpersデータでdynamicHelpersを表現しようとしましたが、セッションデータを取得できません。これを行う簡単な方法はありますか?コードをご覧ください app.listen(3000); var io = require('socket.io'); var io = io.listen(app); io.on('connection', function(client){ // I want to use session data here client.on('message', function(message){ // or here }); client.on('disconnect', function(){ // or here }); });


6
Djangoの非アクティブのためにセッションを期限切れにする方法は?
Djangoアプリケーションには、次のセッション管理要件があります。 ユーザーがブラウザを閉じると、セッションは期限切れになります。 非アクティブな期間が経過すると、セッションは期限切れになります。 非アクティブが原因でセッションが期限切れになるタイミングを検出し、適切なメッセージをユーザーに表示します。 非アクティブ期間が終了する数分前にセッションの期限が切れることをユーザーに警告します。警告とともに、セッションを延長するオプションをユーザーに提供します。 ユーザーがアプリ内でサーバーに送信されるリクエストを含まない長いビジネスアクティビティで作業している場合、セッションがタイムアウトしてはなりません。 ドキュメント、Djangoコード、およびこれに関連するいくつかのブログ投稿を読んだ後、次の実装アプローチを思いつきました。 要件1 この要件は、SESSION_EXPIRE_AT_BROWSER_CLOSEをTrueに設定することで簡単に実装できます。 要件2 セッションの有効期限を設定するためにSESSION_COOKIE_AGEを使用するいくつかの推奨事項を見ました。しかし、この方法には次のような問題があります。 ユーザーがアプリケーションをアクティブに使用している場合でも、セッションは常にSESSION_COOKIE_AGEの終了時に期限切れになります。(これは、カスタムミドルウェアを使用してすべてのリクエストでセッションの有効期限をSESSION_COOKIE_AGEに設定するか、SESSION_SAVE_EVERY_REQUESTをtrueに設定してすべてのリクエストでセッションを保存することで防ぐことができます。ただし、SESSION_COOKIE_AGEを使用するため、次の問題は避けられません。) Cookieの動作方法により、SESSION_EXPIRE_AT_BROWSER_CLOSEとSESSION_COOKIE_AGEは相互に排他的です。つまり、Cookieはブラウザを閉じるか、指定された有効期限で期限切れになります。SESSION_COOKIE_AGEが使用され、Cookieの有効期限が切れる前にユーザーがブラウザーを閉じた場合、Cookieは保持され、ブラウザーを再度開くと、ユーザー(または他のユーザー)は再認証されずにシステムにアクセスできます。 Djangoは、存在するCookieのみに依存して、セッションがアクティブかどうかを判断します。セッションに保存されているセッションの有効期限はチェックしません。 この要件を実装し、上記の問題を回避するには、次の方法を使用できます。 SESSION_COOKIE_AGEは設定しないでください。 セッションの有効期限を、すべてのリクエストで「現在時刻+非アクティブ期間」に設定します。 SessionMiddlewareでprocess_requestをオーバーライドし、セッションの有効期限を確認します。有効期限が切れている場合は、セッションを破棄してください。 要件3 (上記のカスタムSessionMiddlewareで)セッションの有効期限が切れたことを検出したら、リクエストに属性を設定してセッションの有効期限を示します。この属性は、ユーザーに適切なメッセージを表示するために使用できます。 要件4 JavaScriptを使用してユーザーの非アクティブを検出し、警告を提供し、セッションを延長するオプションも提供します。ユーザーが延長したい場合は、キープアライブパルスをサーバーに送信してセッションを延長します。 要件5 JavaScriptを使用して(長時間のビジネスオペレーション中の)ユーザーアクティビティを検出し、キープアライブパルスをサーバーに送信して、セッションが期限切れにならないようにします。 上記の実装アプローチは非常に手の込んだように見え、より簡単な方法(特に要件2の場合)があるのではないかと思っていました。 どんな洞察も高く評価されます。

17
サブドメイン間のPHPセッション
以下を設定しようとしています: auth.example.com sub1.example.com sub2.example.com ユーザーが訪問した場合、sub1.example.comまたはsub2.example.comauth.example.comアクセスしたり、ログインしていなかっと、リダイレクトされてログインできます。 sub1.example.com そして sub2.example.comは2つの別個のアプリケーションですが、同じ資格情報を使用します。 私のphp.iniに以下を設定してみました: session.cookie_domain = ".example.com" しかし、あるドメインから別のドメインに情報を渡していないようです。 [編集] 私は以下を試しました: sub1.example.com/test.php session_set_cookie_params(0, '/', '.example.com'); session_start(); print session_id() . "<br>"; $_SESSION['Regsitered'] = 1; echo '<a href="http://auth.example.com/test.php">Change Sites</a>' auth.example.com/test.php session_set_cookie_params(0, '/', '.example.com'); session_start(); print session_id() . "<br>"; $_SESSION['Checked'] = 1; print_r($_SESSION); セッションIDはまったく同じですが、$_SESSION変数をダンプすると、両方のキーが表示されず、各ドメインで設定したキーだけが表示されます。

3
Redisとのセッションを保存することは安全ですか?
現在、MySqlを使用してセッションを保存しています。うまく動作しますが、少し遅いです。 私はRedisの使用を求められましたが、Redisが書き込み操作を遅らせると聞いたので、それが良いアイデアかどうか疑問に思っています。セッションはリアルタイムである必要があるため、少し心配です。 誰かがそのような問題を経験しましたか?
92 session  redis 

9
Railsのサブドメイン間でセッション(Cookie)を共有しますか?
各ユーザーが会社に属しているアプリのセットアップがあり、その会社にはサブドメインがあります(私はベースキャンプスタイルのサブドメインを使用しています)。私が直面している問題は、railsが複数のcookie(lvh.me用とsubdomain.lvh.me用)を作成し、アプリケーションでかなりの数の中断を引き起こしていることです(フラッシュメッセージがすべての要求に対して一度永続化されるなど)サインイン)。 これは/cofig/initilizers/session_store.rbファイルにあります。 AppName::Application.config.session_store :cookie_store, key: '_application_devise_session', domain: :all ドメイン::allはGoogleで見つけた標準的な回答のようですが、それは私にとってはうまくいかないようです。どんな助けでもありがたいです!


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.