0

私はユーザー アカウントを持つ PHP アプリケーションを開発しています。セキュリティのベスト プラクティスに従っています (自分の役割を果たしました)。

これは私の前向きな考えですが、次のシナリオを参照してください。

ユーザーがばかげて、そこにパスワードを書き留めてアカウントをハッキングしたとしましょう (誰かが見つけた - 「ハッカー」...)。

ハッカーがパスワードを取得したため、ハッカーはログインしてパスワードを変更し、電子メールも変更します。

これで、ユーザーは(ログインもパスの回復/リセットもできないため)わかりました...

次に、ユーザーはこれをスタッフに報告することを決定します (スタッフはアカウントの制御を取り戻したいため)。

私 (スタッフ) は、報告している人物が実際のユーザーであることをどのように特定して、その人物を助けることができますか?

誰でもユーザー名を入力するだけでよい (その人を知っている場合は、メールも可能)...

たぶん考えがありました。ユーザーの識別に役立つように、登録時に入力する必要がある (変更できない) 記憶に残る単語。

同様の手順/機能を備えた他のサイトがあるはずです...

あなたの考え?そして、どんなサンプルコードもいいでしょう!

PS: これはセキュリティの高い金融サイトではなく、ゲーマー向けのソーシャル ネットワークです。

4

3 に答える 3

2

個人的には、アカウントのメインのメール アドレスを変更することは許可しません。したがって、悪用されたユーザーは、典型的な電子メール ベースのパスワード リセットを行うことができます。

メールアドレスの変更を絶対に許可する必要がある場合は、ログインしたユーザーに、元のアドレスに送信されるメール変更パスワードを生成するように要求し、元のアドレスからのリンクをクリックした場合にのみ、パスワードを取得できるようにします。メールアドレスを変更するためのフォームに送信します。これも、新しいアドレスにメールを送信して検証する必要があります。新しいアドレスのリンクが正常にクリックされた場合にのみ、電子メールの変更がコミットされます。

于 2012-09-10T16:43:58.803 に答える
0

登録に使用した元の電子メール アドレスをフィールドとしてデータベースに保存してみませんか。これはユーザーが表示できる必要はなく、単にフォールバックとして使用できます。次に、セキュリティの質問をすることができるページへのリンクを含む電子メールをそのアカウントに送信することを管理者に許可できます。

これは私の頭の上から外れていましたが、実行可能だと思います。

于 2012-09-10T16:41:46.730 に答える
0

セキュリティの質問/回答を使用できます。登録時に、「好きなものは何ですか?」などの質問をユーザーに促します。これらの質問に対する回答は、身元を確認するために使用する必要があります。

于 2012-09-10T16:48:19.283 に答える