ホームページ  >  記事  >  システムチュートリアル  >  「パスワードを記憶する」機能に潜む危険性

「パスワードを記憶する」機能に潜む危険性

王林
王林転載
2024-02-08 08:33:09741ブラウズ

「パスワードを記憶する」機能に潜む危険性

この方法では、すべてのデバイスとクライアントにログインでき、複数のユーザーが同時にログインできます。これはあまり安全ではありません。参考までに、より安全な方法をいくつか紹介します:

1 Cookie に、ユーザー名ログイン シーケンスログイン トークンの 3 つを保存します。

a) ユーザー名: クリア テキストで保存されます。
b) ログイン シーケンス : MD5 によってハッシュされた乱数。ユーザーがパスワードの入力を強制された場合 (例: ユーザーがパスワードを変更する場合) にのみ更新されます。
c) ログイン トークン : MD5 によってハッシュされた乱数。これは 1 つのログイン セッション内でのみ有効です。新しいログイン セッションで更新されます。

2 上記 3 つはサーバーに保存されます。サーバーの認証されたユーザーは、クライアント Cookie でこれら 3 つを確認する必要があります。
3 このような設計にはどのような影響がありますか? 次のような影響があります。 a)
ログイン トークン

は単一インスタンスのログインです。これは、ユーザーが持つことができるログイン インスタンスは 1 つだけであることを意味します。 b)

ログイン シーケンス

は盗難検出に使用されます。ユーザーの Cookie が盗まれ、泥棒がこの Cookie を使用して Web サイトにアクセスした場合、システムはそのユーザーが正規のユーザーであると判断し、「ログイン トークン 」を更新します。ただし、実際のユーザーが戻ってくると、アクセスすると、システムは「ユーザー名」のみが「ログインシーケンス」と同じであることを検出しますが、「ログイントークン」が間違っていることがわかります。この場合、システムはこのユーザーが盗まれた可能性があることを認識します。この場合、システムは ログイン シーケンス ログイン トークン をクリアして変更することができるため、すべての Cookie が無効になり、ユーザーにパスワードを入力します。また、システムのセキュリティについてユーザーに警告します。

4 もちろん、
上記の設計にはまだいくつかの問題があります 例: 同じユーザーが異なるデバイスからログインしたり、異なるブラウザを使用して同じデバイスにログインしたりする場合もあります。あるデバイスが別のデバイスの
ログイン トークン

ログイン シーケンス を無効にし、他のデバイスやブラウザが再度ログインする必要が生じ、Cookie が盗まれたかのような錯覚を引き起こします。したがって、サーバーサーバーの IP アドレスについても考慮する必要があります。 これには 3 つの問題が含まれます。 a) パスワードを使用してログインする場合、サーバーの「

ログイン シーケンス

」と「ログイン トークン 」を更新する必要はありません (ただし、Cookie を更新する必要があります) )。それは、実際のユーザーだけがパスワードを知っていると信じているからです。 b)

IP が同じ

の場合、サーバーの「ログイン シーケンス 」と「ログイン トークン 」を更新する必要はありません (ただし、 Cookie を更新する必要があります)。同じユーザーは同じ IP を持っていると考えるからです (もちろん、同じ LAN も同じ IP を持ちますが、この LAN はユーザーによって制御可能であると考えられます。この機能はインターネット カフェでは推奨されません)。 c) (

IP が異なる

&& ログインにパスワードが使用されていない ) の場合、「ログイン トークン 」は複数の IP 間で変更されます (ログイントークンは複数のIP間でやり取りされますが、一定期間内に一定回数に達すると、システムは盗まれる可能性が非常に高いと認識します。システムは「## をバックグラウンドで実行します。#ログイン シーケンス 」と「ログイン トークン 」をクリアして Cookie を無効にし、ユーザーにパスワードの入力を強制します (またはユーザーにパスワードの変更を要求します)。複数のデバイス上の Cookie が一貫していることを確認します。 これは良い解決策だと思います。Cookie が盗まれるという錯覚は、QQ に後からログインしたユーザーが以前にログインしていたユーザーを締め出すという「自滅的な」方法でも実現することができます。

以上が「パスワードを記憶する」機能に潜む危険性の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlinuxprobe.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。