2

AutoLogin 機能を使用して、ユーザーがリンクを使用して Web アプリケーションに直接ログインできるようにしたいと考えています。これを達成する最良の方法は何ですか?

私たちは以下のアプローチを念頭に置いています。

1) ユーザー資格情報 (ユーザー名/パスワード) を Cookie に保存します。認証用の Cookie を送信します。

例 http: //www.mysite.com/AutoLogin (ここでは、ユーザー名/パスワードが Cookie で渡されます)

または リンク URL でユーザー資格情報を渡します。

http://www.mysite.com/AutoLogin?userid=<>&password=<>

2) ランダム トークンを生成し、ユーザー ランダム トークンとユーザー IP をサーバー側データベースに格納します。

ユーザーがリンクを使用してログインするとき、サーバーでトークンとユーザー IP を検証します。

例えば

http://www.mysite.com/AutoLogin?token=<>

最初のアプローチの問題は、ハッカーがユーザーのマシンからログインできる別のマシンにリンク/クッキーをコピーした場合です。

2 番目のアプローチの問題は、ユーザー IP がプロキシの背後にある同じ組織のすべてのユーザーで同じになることです。

セキュリティの観点から上から見た場合、どちらが優れていますか? 上記以外のより良い解決策があれば、お知らせください。

4

2 に答える 2

2

唯一の安全な「自動ログイン」は、通常のログイン後に設定され、ユーザーがサイトに戻ったときに検証される Cookie です。Cookie は、妥当な時間が経過すると期限切れになります。最初のアプローチはこれに似ていますが、そもそもユーザー名とパスワードがどのように Cookie に保存されるかを説明していません。それらをプレーンテキストで保存する代わりに、少なくとも以下を含む一連の Cookie を保存します。

  1. ユーザー名
  2. 有効期限
  3. 前のアイテムの SIGNED ハッシュ。署名付きとは、サイトだけが知っていて誰にも渡されない秘密がハッシュに含まれていることを意味します。Cookie が戻ってきたら、最初の 2 つの項目に再署名し、署名を Cookie の署名と比較します。一致する場合は、それがあなたから送信されたものであり、改ざんされていないことがわかります。
于 2010-06-02T13:49:45.380 に答える
0

Which one is better from above from security perspective?

どちらも悪いことですが、パスワードを平文で保存するのは罪です。それも考慮しないでください。

If there is better solution which is other than mentioned above, please let us know.

自動ログインを実装しないでください。安全になることは決してありません。

于 2010-06-02T13:43:42.033 に答える