0

ユーザーに登録を要求せずに機能を提供するサイトを構築しています。アイデアは、トークンとのリンクを含む指定されたアドレスに電子メールを送信することです。そうすれば、ユーザーは機能を変更したいときにいつでもこのリンクにアクセスできます。

そのような概念を真に保護する方法がないことは認識していますが、トークンの可視性を最小限に抑えるためのオプションを探しています. 現在の状態では、ユーザーがリンクをクリックするとすぐにブラウザーの履歴に追加され、コンピューターにアクセスできる人なら誰でも利用できます。

ほとんどの場合、POST リクエストでトークンを渡すことができるように単純なフォームでこれを解決しますが、メールではフォームは実際にはサポートされていません。

問題は、そのような電子メールでトークンを非表示にする別の方法を知っている人はいますか?

4

3 に答える 3

0

おそらくもっと役立つ別の答え:

一部のブラウザー (Chrome など) は、ブラウザーの履歴に 301 の「Moved Permanently」リダイレクトを記録しません。Firefox にはありますが、それを変更する提案があります: https://wiki.mozilla.org/Browser_History:Redirects

たとえば、Chrome で直接移動すると、

amazon.com

への 301 リダイレクトに従います。

www.amazon.com

その後、ブラウザの履歴を確認すると、表示されるのは

www.amazon.com

したがって、サーバーがログイン リンクから 301 リダイレクトを返す場合、サーバーはトークンを記録し、リダイレクト リンクからトークンを削除することができ、ユーザーのブラウザはリダイレクト リンクのみを記録します。

(スタック オーバーフローに応答するのはこれが初めてです。私の文章が不明確であるか、他のエチケットが欠けている場合はお知らせください)

于 2009-11-06T06:39:21.457 に答える
0

ユーザーがログインするたびに新しいトークンを再送信できます。以前のトークンを「期限切れ」に設定しながら、電子メールアドレスを入力して新しいトークンを送信してもらいます。または、サーバーが古いリンク/トークンが使用されたことを検出した場合、関連付けられた電子メール アドレスに新しいリンク/トークンを自動的に送信し、ユーザーに電子メールで新しいリンクを確認するように依頼できます。

これには、期限切れの古いトークンと関連する電子メール アドレスを追跡する必要がありますが、登録は必要ありません。ユーザーがログインするたびにメールをチェックするだけです。基本的に、電子メール認証に便乗することになります。

また、ユーザーにとっても直感に反するものです。

これにより、トークンが暗号化ナンスに変わります。これは主に、あなたが言及したリプレイ攻撃を防ぐために使用されます。

于 2009-11-06T06:19:42.447 に答える
0

考えたことがあると思いますが、パスワードと、そのパスワードを入力する必要がある URL へのリンクを送信することもできます。電子メールで送信された URL に別のパスワードが含まれている場合、たとえば PIN 番号のように、ユーザーが入力するパスワードを非常に短くすることは、通常よりもセキュリティへの妥協が少なくなります。

于 2009-11-06T04:18:45.203 に答える