問題タブ [forgot-password]
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 - 永続的なログインCookieとパスワードリセットトークンのハッシュを保存する必要があるのはなぜですか?
私はちょうど以下を読みました:
また、永続的なログインCookie(トークン)をデータベースに保存しないでください。ハッシュのみを保存してください。ログイントークンはパスワードと同等であるため、攻撃者がデータベースを入手した場合、攻撃者は、クリアテキストのログインとパスワードの組み合わせであるかのように、トークンを使用して任意のアカウントにログインできます。したがって、永続的なログイントークンを保存するときは、強力なソルトハッシュ(bcrypt / phpass)を使用してください。
(この回答では:https ://stackoverflow.com/a/477578/943102 )
複数のサイトで同じパスワードを使用し、攻撃者が同じユーザーの他のアカウントに侵入するのを防ぐため、ハッシュが使用されることになっていると思いました。ログイントークンはランダムな値であるため、この場合、このリスクはありません。私は明らかに何かが欠けていますが、これについてのそれ以上の情報を見つけることができませんでした。誰かが説明できますか?
yii - Yii でパスワード リセット リンクを送信する方法
yii で、パスワードを忘れる機能を作成しています。このユーザーは、電子メール ID を入力します。この電子メール ID が正しい場合、データベースから securityQuestion ID を取得し、その質問をユーザーに表示します。答えが正しい場合、パスワード リセット リンクが送信されます。ユーザーの電子メールIDに。コントローラーで私は次のように行動しました
プライマリメールIDと送信ボタンを入力するためのビューファイルとしてpassword.phpを持っています
ただし、ユーザーがプライマリ電子メール ID を送信した後、アクションは実行されません。だから誰か私がする必要がある変更を教えてください
java - Androidアプリでパスワードをリセットするためにユーザーにメールを送信する
Android アプリケーションで SOAP Web サービスを介した MySQL 接続を使用して、1 つのログイン フォーム (ユーザー名、パスワード、および送信ボタン) を開発しました。ここで、パスワードを忘れたということは、アカウントにアクセスできないことを意味します。次に、アカウントにアクセスするにはどうすればよいですか。したがって、テキストビューを1つ追加しました(パスワードを忘れた???ここをクリック)。登録ページを完了しました。登録ページにはユーザー名があります。パスワードとメール。パスワードを忘れた場合は、パスワードを忘れたテキストビューをクリックすることを意味します。次に、パスワードを忘れるアクティビティに移動します。ここで、登録済みのメール ID を入力すると、パスワードがリセットされ、メール ID に送信されます。私のパスワードはどうすればいいですか.プログラムで私を助けてください.
privacy - ログイン/パスワードを忘れた場合のベスト プラクティスは?
コードの問題ではなく、アプリケーション設計の問題です。ユーザーが Web アプリケーションにログインしようとして不明なユーザー名 (または電子メール) を提供した場合、「不明なユーザー名/パスワードの組み合わせ」またはそれに関連する何かを報告するのが一般的な方法のようです。つまり、ユーザーが自分の名前またはパスワードを間違っているかどうかはあいまいです。
「パスワードを忘れた」ページでは、ユーザーがパスワードをリセットするために使用できる電子メール アドレスの要求が表示されるのが一般的です。ユーザーが再び不明な電子メール アドレスを入力した場合、ユーザーを混乱させる可能性のある成功ページを表示するか、ユーザーがアプリケーションにサインアップしたという事実を明らかにする可能性があるエラー ページを表示する方がよいでしょうか。エラー メッセージを表示すると、プライバシーの問題のように感じますが、非常に小さいものです。
最近データベースをリセットしたことを忘れていたときに、個人的に開発サーバーでこれに影響を受けました。パスワード再設定のメールが届かない理由がわかりませんでした。最終的select *にユーザーテーブルを作成するまで、技術的にサインアップさえしていないことに気づきました。
security - パスワードを忘れた場合のベストプラクティスは何ですか?
私は現在、ユーザーがパスワードでログインできるようにする ac# Web アプリケーションを開発しています。含める必要がある機能は、パスワードを忘れた機能です。
パスワードを忘れた場合の推奨されるプロセスは何ですか?
私はこれを検討していました:
- ユーザーが [パスワードを忘れた場合] をクリックし、電子メール アドレスを入力してください
- メールを送信しました
- メール内のリンクをクリックします (リンクは 1 回のみ有効で、期間内のみ有効です)
- サイトに連れて行かれ、新しいパスワードを入力するように求められました (セキュリティの質問にも答えるべきですか?)
- パスワードが変更され、そのようなユーザーに電子メールが送信されました
- ユーザーは新しいパスワードでログインできるようになりました
php - パスワードのリセット:洗練されたソリューションとは何ですか?
質問:
セキュリティの質問、生年月日、またはその他のパラメータを必要とせずに、誰がパスワードをリセットしているのかを確認するにはどうすればよいですか?
コンテキスト
多くのWebサイトでは、パスワードのリセットが要求されると、データベース内のユーザー名にランダムなハッシュが付加されます。このハッシュは、URLの一部としてユーザーに電子メールで送信されます。ユーザーが電子メールで送信されたリンクをクリックすると、新しいパスワードを選択できるページに移動します。ここでの問題は、ユーザーがこの「新しいパスワードの設定」ページに任意の電子メールアドレスを入力し、そのアカウントに新しいパスワードを設定できることです。では、ユーザーが新しいパスワードを設定しているアカウントを実際に所有していることを確認するにはどうすればよいですか?
パスワードはハッシュが一致した場合にのみ設定できるため、ランダムハッシュを含むURLを新しいパスワードと一緒にパラメーターとして送信する必要があると考えました。ただし、$ _ GET ['hash']変数は、電子メールからリンクされたパスワードの設定ページにのみ存在するため、これは機能しません。ユーザーが[送信]をクリックするとすぐに、$ _GET['hash']変数が消えます。
簡単な解決策は、送信時にURLを介して$ _GET ['hash']変数を再度渡すことですが、これは開発者にとって余分な手順を作成し、混乱させる可能性があります。(私はライブラリを作成しているので、私のコードは開発者が理解して統合できるほど単純でなければなりません)。
人々はこれまでどのように問題に取り組んだことがありますか?一部の人々は、リセットリンクを時間制限にすることを提案しました。これは、リンクが30分間しか有効でなかった場合、悪意のあるユーザーが他のユーザーのパスワードを変更できるのは、そのユーザーが過去30分間にリセットを要求した場合に限られることを意味します。ただし、そこにはまだ脆弱性のウィンドウがあるため、完全ではありません。
必要に応じて説明を求めてください。
ありがとうございました
ruby-on-rails - パスワードの回復リンクを考案する
レイアウトビューでdeviserecoverpasswordリンクを設定しようとしています...そうしようとしています:
しかし、私は得る
パスワードを忘れてレイアウトでレンダリングするにはどうすればよいですか?Railsビューのリンク?
また私のモデル:
iphone - 回復パスワードの生成
アプリのテスト中に、ユーザーがパスワードを忘れた場合にアプリケーション内にアクセスする機能がないことが確認されました。
これを発見すると、次のようなパスワード生成手法を実装しました。 1. ユーザー情報を使用して特定の文字列を作成します。2. 文字列に SHA1 を適用する 3. SHA1 ハッシュの一部をパスワードとして取得する
上記のアルゴリズムは、サーバー側とデバイス側の両方に適用されます。そのため、相互作用する必要はありません。したがって、ユーザーがパスワードを忘れた場合でも、サーバーにリクエストできます。サーバーは上記のアルゴリズムを実行し、生成されたパスワードをユーザーの電子メールに送信します。デバイス側では、同じアルトを使用して同じパスワードが生成されます。したがって、ユーザーが入力すると一致し、ユーザーにアクセス権が付与されます。
パスワードを生成するために同じ文字列を使用しているため、どういうわけか私はこれに満足していません. そのため、ユーザーがパスワードを忘れて生成するたびに、同じパスワードが取得されますが、これはパスワード ジェネレーターの動作とは異なります。
そのため、変数になる文字列にさらに追加することを考えていましたが、サーバー側とデバイス側の両方で同じになります。オプションの 1 つは文字列で日付を使用することですが、サーバーが異なるタイム ゾーンのデバイスにある場合、サーバーは異なるパスワードを生成します。
これに対するより良い解決策はありますか?提案してください ...
ruby-on-rails - Hartl チュートリアルの後に Rails アプリにパスワード リセット機能を追加する
私は RoR を初めて使用し、Hartlのチュートリアルを進めてきました (これはすばらしいものでした)。私は第 9 章まで順調にフォローアップしました (私の最終的な目標はマイクロポスト サイトを作成することではないため、少し調整しています)。その時点で、「remember me」チェック ボックスを追加してパスワードをリセットする機能をアプリに追加することにしたので、Railscast チュートリアルに戻りました(Hartl の提案による)。チェック ボックスは非常にスムーズに進みましたが、パスワードのリセット セクションでレンガの壁にぶつかりました。次から次へとエラーが続いています。私は自分自身を助けることができず、少し微調整できなかったことを認めなければなりません - 私はform_for構文の代わりに構文を使用しようとしましたform_tag。メールアドレスを送信できるところまで来ましたが、No route matches [POST] "/reset_password/new"メッセージ。過去 2 日間、stackoverflow で同様の投稿を読んで提案を試してみましたが、うまくいくものを思いつくことができないようです。助けてください!
要点は次のとおりです。
私のパスワード リセット ビューは次の場所にあります/app/views/reset_password/new.html.erb。
私のコントローラーは次の場所にあり/app/controllers/reset_password_controller.rbます:
私のルートは次の場所にあり/config/routes.rbます:
最後に$ rake routes、次のように報告します。
よろしくお願いします。