私は、ユーザがアカウントを作成し、サイトのメッセージングシステム(基本的な電子メールシステム)を使用してお互いにメッセージを送信できるサイトを構築しています。ユーザーAが別のユーザーBからメッセージを受信した場合、そのユーザーの電子メールアドレスを使用してユーザーAに自動的に通知します。さらに、このメッセージにアクセスするために、ユーザーのログイン資格情報をWebサイトに入力しないようにUser-Aを保存したいと思います。セキュリティ上のリスク:GETパラメータによる自動ログイン
User-Aに電子メールを自動的に送信する特別なリンクを電子メールで送信することは悪い考えですか?たとえば、「www.domain.com/?message_id=1 & hash = abc123」をクリックしてください(has-valueを使用して、ユーザーAのアカウントに自動的にログインし、特定のメッセージを表示できます)。
電子メールには、User-Bが送信したメッセージが既に含まれています。ユーザーAは返信するためにはサイトに行く必要があります。
私の前提は、このリンクが安全であるということです。ユーザAに電子メールで直接送信されるため、電子メールが保護されている必要があります。さらに、ハッシュを特定の期間または最初のクリックなどの後にのみ有効にすることができます。
通常、電子メールはプレーンテキストで送信されるので、電子メールに入れたものは絶対に「安全」なものとして扱うことはできません。 –
Flimzyの提案についてどう思いますか?それはクッキーが必要です。 – StackOverflowNewbie
まだログインしていない場合は、適切なCookieを使用してハッシュURLをワンタイムログインページに誘導するという考えに同意します。このようにして、悪意のある人が電子メールからリンクを渡った場合、有効なログインCookie(またはユーザ名/パスワード)なしでログインすることはできません。もちろん、これを安全にするには、すべてのトラフィックを 'https:// 'にする必要があります。そうしないと、クッキーもネットワーク上で暗号化されなくなります(メールと同じ方法で盗まれる可能性があります)。 –