問題タブ [remember-me]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
security - 「Remember-me」認証機能は、常に「安全でない」Web サイトを意味しますか?
Web アプリケーションに従来の「remember-me」チェックボックスを実装して、認証されたユーザーが Web サイトに戻ったときに「記憶」できるようにすることを検討しています。
Gmail、Facebookなどにはこの種の機能がありますが、どれだけ安全かはわかりません。
Spring Securityのような Java フレームワークは、「ハッシュベースのトークン アプローチ」を使用します。(ユーザー名、パスワード、expirationTime、および privateKey を使用して) 生成されるトークンは、クライアントの Cookie 'token=567whatever567' に格納されます。トークンは、ユーザーが次に戻ってきたときに再認証するために再利用されます。
ログイン プロセスが https 接続で行われた場合でも、その後のすべての http 要求で、Cookie が暗号化されずにネット上に送信されるという事実が懸念されます。
基本的に、誰もがトークンを読み取り、それを再利用して認証できます。
Gmail や Facebook がこの機能をどのように実装しているかを調べようとしています。FB では「presence=DJ267619445G09H0L15228675.....」のような Cookie が表示され、Gmail ではその他の Cookie が表示されます。
他のユーザーになりすまそうとする誰かから保護するために、彼らが他のトリックを使用しているかどうかはよくわかりません.
cURLのようなものを使用して自分自身になりすまして、ユーザーを記憶するために特定のトークンのみを使用しているかどうかを確認します。
もしそうなら、それは私には大きなセキュリティ問題のように見えます. facebook ではないかもしれませんが (私は気にしません)、Gmail では「Use always https」を設定しないと、http 接続が使用され、暗号化されていないトークンがインターネット経由で送信されます。
どう思いますか?
また、Facebook のユーザー名/パスワード フィールドが (https ではなく) http で公開されていることにも気付きました。この点で、私も疑問に思っています.httpでユーザー名/パスワードフィールドを公開しているすべてのWebサイトは、「本質的に」安全ではありません. リクエストが http 経由で送信されると、「世界中に表示される資格情報」の問題を解決できる「https へのリダイレクト」はありません。
ありがとう
編集:
私の心配は十分に根拠がありましたhttp://codebutler.com/問題を強調してくれたFiresheep
の作成者に
感謝します!!!
email - Web サイトへのログイン時の「Remember Me」オプションのポイントは何ですか? 開発者が常にユーザーを記憶するのを妨げているのは何ですか?
それは単にクッキーに対する古い恐怖 (一部の場所ではまだ) の産物ですか? また、送信メールからユーザー名を単純に渡すのが悪い習慣であるかどうかも知りたいです。
asp.net-mvc - ASP.NET MVC RememberMe
たくさん検索した後、私は何の答えも得られず、最終的に私はあなたに戻らなければなりませんでした。以下に私の問題を詳しく説明します。長すぎるので、読むのをやめないでください。私は自分の問題を簡単な言葉で説明しました。
私はasp.netmvcプロジェクトを開発しています。標準のASP.NETの役割とメンバーシップを使用しています。すべてが正常に機能していますが、rememberme機能はまったく機能しません。私は仕事のすべての詳細をリストしています。皆さんが私がこの問題を解決するのを手伝ってくれることを願っています。
私は単にこれが必要です:
ユーザーがWebアプリケーションにログインする必要があります。ログイン中、彼らは私を覚えているか、それなしでログインすることができます。ユーザーがremembermeを使用してログインした場合、ブラウザーにそれらを長期間記憶させたいと思います。たとえば、少なくとも1年またはかなり長い時間です。彼らがwww.dotnetspider.com、www.codeproject.com、www.daniweb.comおよび他の多くのサイトでそれを行う方法。ユーザーが私を覚えていない状態でログインした場合、ブラウザはWebサイトへのアクセスを約20〜30分間許可し、その後セッションが期限切れになるはずです。ユーザーがログインし、ログアウトせずにブラウザをシャットダウンすると、セッションも期限切れになります。
注:ユーザー用に独自のタルブを作成し、データベーステーブルに対して認証し、他のプロジェクトでCookieとセッションを設定することにより、標準のasp.netロールとメンバーシップを使用せずに上記の機能を正常に実装しました。ただし、このプロジェクトでは、最初から標準のasp.netの役割とメンバーシップを使用していました。私たちはそれが機能すると思っていましたが、テスト時にすべてが構築された後、機能しませんでした。そして今では、既存の機能を標準のasp.netの役割に置き換えたり、メンバーシップを自分のカスタムユーザーテーブルやその他すべてのものに置き換えたりすることはできません。
標準のasp.netロールとメンバーシップ機能に何らかのバグがあるか、標準のasp.netロールとメンバーシップの概念全体が間違っています。私は私が上に欲しいものを述べました。とてもシンプルでリーズナブルだと思います。
私がしたこと
- ユーザー名、パスワードを入力してフォームにログインし、フィールドを覚えておいてください。
- web.configの設定:
<authentication mode = "Forms">
<forms loginUrl = "〜/ Account / LogOn" timeout = "2880" />
</ authentication> 私のコントローラーアクションでは、私はこれを持っています:
FormsAuth.SignIn(userName、rememberMe);
public void SignIn(string userName、bool createPersistentCookie){FormsAuthentication.SetAuthCookie(userName、createPersistentCookie); }
現在、問題は次のとおりです。
私はすでに上記のセクションで「私は単にこれが必要です」と述べました。ユーザーはシステムに正常にログインできます。それらのセッションは、web.configのタイムアウト値で指定されている分だけ存在します。web.configのサンプルも提供しました。私のサンプルでは、タイムアウトを5分に設定すると、ユーザーセッションは5分後に期限切れになります。これで問題ありません。ただし、ユーザーがブラウザを閉じて再度開いた場合でも、「タイムアウト」で指定された時間が経過するまで、ログインせずにWebサイトにアクセスできます。タイムアウト値のスライディング有効期限も正常に機能しています。これで、ユーザーが[覚えている]をオンにしてシステムにログインした場合でも、ユーザーセッションは5分後に期限切れになります。これは良い行動ではありませんね。つまり、ユーザーが「私がチェックしたことを覚えて」でシステムにログインした場合、彼はそうしないまで長い間覚えておく必要があります。tシステムからログアウトするか、ユーザーがブラウザからすべてのCookieを手動で削除しません。ユーザーが覚えていない状態でシステムにログインした場合、web.configで指定されたタイムアウト期間の値の後にセッションが期限切れになることを確認しました。また、ユーザーがブラウザーを閉じた場合も同様です。問題は、ユーザーがブラウザを閉じて再度開いた場合でも、ログインせずにWebサイトにアクセスできることです。
私はこのトピックについてインターネットをよく検索しますが、解決策を得ることができませんでした。まったく同じトピックについてScottGuが作成したブログ投稿(http://weblogs.asp.net/scottgu/archive/2005/11/08/430011.aspx )。スコット氏からの簡単な解決策はありませんが、ユーザーはコメントで同じことについて不満を言っています。
私は次の場所でそれを読みました: http: //weblogs.asp.net/scottgu/archive/2005/11/08/430011.aspxhttp: //geekswithblogs.net/vivek/archive/2006/09/14/91191。 aspx
これは多くのユーザーの問題だと思います。スコット・グー氏のブログ投稿からもわかるように。
あなたの助けは本当にありがたいです。前もって感謝します。
spring-security - SpringSecurityでのRememberMeサービスの問題
Springを使用して自分のWebサイトに「rememberme」機能を実装しようとしています。cookieとpersistent_loginsテーブルのエントリが正しく作成されています。さらに、ページの上部にユーザー名が表示されているため、正しいユーザーが復元されていることがわかります。
ただし、このユーザーが「記憶」された後に戻ってきたときにこのユーザーの情報にアクセスしようとすると、NullPointerExceptionが発生します。ユーザーがセッションに再度設定されていないように見えます。
私のapplicationContext-security.xmlには次のものが含まれています。
ユーザーごとのクエリと関係があるのではないかと思いましたが、このクエリが正しくないとログインが正しく機能しませんでしたか?
これに関する助けをいただければ幸いです。
ありがとう、ギアロイド。
spring-security - 春のセキュリティで自動ログインをオーバーライドする際の問題?
皆さん、こんにちはSpring Security 3のRemember Meサービスを次のように使用しています
自動ログインでいくつかのロジックを実行したいので、次のように AbstractRememberMeServices をオーバーライドしようとしました。
しかし、アクションなしで自動ログインが行われ、ユーザーの自動ログインが行われますが、印刷ステートメントは印刷されませんか? どうしたの?
security - セッション Cookie を使用した Spring Security RememberMe サービス
ユーザーの認証を維持するために、Spring Security の RememberMe Services を使用しています。
有効期限を固定するのではなく、RememberMe Cookie をセッション Cookie として設定する簡単な方法を見つけたいと思います。私のアプリケーションでは、ユーザーがブラウザーを閉じるまで Cookie が保持されるはずです。
これを最適に実装する方法について何か提案はありますか? これが潜在的なセキュリティ問題であるという懸念はありますか?
そうする主な理由は、Cookie ベースのトークンを使用すると、ロード バランサーの背後にあるサーバーのいずれかが、HttpSession に格納されるユーザーの認証に依存することなく、保護された要求を処理できるためです。実際、名前空間を使用してセッションを作成しないように Spring Security に明示的に指示しました。さらに、Amazon の Elastic Load Balancing を使用しているため、スティッキー セッションはサポートされていません。
注: 2008 年 4 月の時点で、Amazon がスティッキー セッションをサポートするようになったことは承知していますが、他にもいくつかの理由でそれらを使用したくありません。つまり、1 つのサーバーが不意に停止した場合でも、そのサーバーに関連付けられているすべてのユーザーのセッションが失われる可能性があります。 http://aws.amazon.com/about-aws/whats-new/2010/04/08/support-for-session-stickiness-in-elastic-load-balancing/
symfony1 - sfRemember Cookie / sfGuard の記憶に関する問題
Doctrine で Symfony 1.4 を使用しています。
ばかげた質問で申し訳ありませんが、"remember me" 機能を動作させるために sfDoctrineGuardPlugin の上に何を構築する必要がありますか?
ユーザーをログインすると、sfRemember Cookie がデフォルトの 15 日間の有効期間で作成され、記憶キーがプラグインの sf_guard_remember_key テーブルに保存されます。
プラグインを微調整しなくても、sfGuardSecurityUser SignIn() メソッドは Cookie を作成しますが、Signout() メソッドはそれを消去し、ログインしていない限り Cookie を残しません!
データベーステーブルが sf_guard_user のリレーションとして Cookie を保存していることがわかりますが、Cookie がなくなってしまうとあまり良くありません....
ここで何が欠けているのか誰かが教えてくれたらありがたいです.Signout()メソッドがCookieを削除できないようにする場合、自分でCookieを読み取るコードを書く必要がありますか、それともこれはどこかで自動化されていますか/何とかして?ボックス標準の Symfony 1.4 と sfDoctrineGuardPlugin がインストールされています。
それはすべて完全に間違っているようで、これに関するドキュメントは存在しません。
どんな助けでもいただければ幸いです。
ajax - ExtJS:「Rememberme」機能でログイン
非常に一般的な「Rememberme」機能を備えたシンプルなログインウィンドウを作成しようとしています。ログイン検証はAJAXスタイルで行われるため、ブラウザは私の入力を記憶しません。
私のアプローチは組み込みのstate
機能を使用することですが、それを使用する方法は私を混乱させます。
メソッドを実装する必要があることはわかっていgetState
ますが、どのコンポーネントに(私の推測では2つのテキストフィールドにあります)?私が気付いていないもう1つのことは、ボタンのクリックイベントがテキストフィールドの状態プロパティにどのように接続されているかということです。
ruby-on-rails - Authlogic を「私を記憶しない」ようにする
ユーザーがブラウザーを閉じたときにユーザー セッションを終了させたい。しかし、authlogic は、新しいブラウザを開いたときでもセッションを覚えているようです。@user_session.remember_me = false を設定しようとしましたが、それは役に立ちません。実際に :expires => nil で Cookie を保存している save_cookie メソッドにドリルダウンしました。これにより、ブラウザセッションで Cookie が期限切れになると思いますか?
私の authlogic 構成に関する唯一の特異な点は、招待コードが期限切れにならないように c.perishable_token_valid_for(0) を設定したことです。私はそれがこれと関係があるとは思わない..
asp.net - ログインフォームで私を覚えておいてください
「rememberme」オプションが欲しい「login」コントロールがあります。どうすればこれを達成できますか?