ウェブサイトに「rememberme」を実装するための最良の方法は何ですか?

Eddie Deyo

ユーザーが自分のWebサイトにアクセスするたびにログインする必要がないように、ユーザーがクリックできるチェックボックスをWebサイトに設定したいと思います。これを実装するには、コンピューターにCookieを保存する必要があることはわかっていますが、そのCookieには何を含める必要がありますか?

また、このCookieがセキュリティの脆弱性を示さないようにするために注意すべき一般的な間違いはありますか?これは「rememberme」機能を提供しながら回避できますか?

splattne

永続ログインCookieのベストプラクティスの改善

ここで説明するこの戦略は、ベストプラクティス(2006)またはここで説明する更新された戦略(2015)として使用できます

  1. ユーザーがRememberMeをオンにして正常にログインすると、標準のセッション管理Cookieに加えてログインCookieが発行さます
  2. ログインCookieには、シリーズ識別子とトークンが含まれています系列とトークンは、適切に大きなスペースからの推測できない乱数です。両方がデータベーステーブルに一緒に保存され、トークンがハッシュされます(sha256で問題ありません)。
  3. ログインしていないユーザーがサイトにアクセスしてログインCookieを提示すると、シリーズ識別子がデータベースで検索されます
    1. 場合は、一連の識別子が存在し、ハッシュのあるトークンと一致することをシリーズ識別子のハッシュ、ユーザーが考慮される認証済み新しいトークンが生成され、トークンのための新たなハッシュは、古いレコードの上で貯蔵され、そして新しいログインクッキーは(それは再使用しても大丈夫ですユーザに発行されたシリーズの識別子)。
    2. シリーズが存在するがトークンが一致しない場合、盗難が想定されます。ユーザーは強い言葉で警告を受け取り、ユーザーが記憶しているセッションはすべて削除されます。
    3. ユーザー名とシリーズが存在しない場合、ログインCookieは無視されます。

このアプローチは、多層防御を提供します。誰かがデータベーステーブルをリークしたとしても、攻撃者がユーザーになりすますための扉を開くことはありません。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

dbからウェブサイトを生成するための最良の方法は何でしょうか

分類Dev

サイドパネルでUITabbarcontrollerを実装するための最良の方法は何ですか?

分類Dev

Laravelのウェブサイトに別の言語を追加する最良の方法は何ですか?

分類Dev

機密画像をウェブサイトに保存するための最も安全な方法は何ですか?

分類Dev

AndroidにFacebookログインを実装するための最良の方法は何ですか?

分類Dev

一部のデータは、24時間24時間実行中のPCで10分ごとに生成されます。私のウェブサイトがこのデータを取得するための最良の方法は何ですか?

分類Dev

再注文方法を実装するための最良の方法は何ですか?

分類Dev

私のウェブサイトでベンチマークとエラーを記録するための最良の方法は何ですか?

分類Dev

ウェブサイト上のホームページをリンクするための最良の方法は何ですか

分類Dev

IIS 7.5でサイトバインディング固有の構成を実装するための最良の方法は何ですか?

分類Dev

ユーザーアカウントのアクティブ化を実装するための最良の方法は何ですか?

分類Dev

JPAサマリーオブジェクトを取得するための最良の方法は何ですか?

分類Dev

QGraphicsViewにインタラクティブなスプラインのような曲線を実装するための最良の方法は何ですか?

分類Dev

複数の言語でウェブサイトを作成する最良の方法は何ですか?

分類Dev

Pythonでウェブサイトからデータのリストを取得するための最良の方法

分類Dev

PowerShellスクリプトの翻訳を実装するための最良の方法は何ですか?

分類Dev

PowerShellスクリプトの翻訳を実装するための最良の方法は何ですか?

分類Dev

私のコントロールを実装するための最良の方法は何ですか

分類Dev

Androidで垂直フローテキストを実装するための最良の方法は何ですか?

分類Dev

JPAで相互に排他的な関係を実装するための最良の方法は何ですか?

分類Dev

「タイマー」を実装するための最良の方法は何ですか?

分類Dev

チームと協力してウェブサイトで作業するための最良の方法は何ですか?

分類Dev

チームと協力してウェブサイトで作業するための最良の方法は何ですか?

分類Dev

mongoDBにFIFOコレクションを実装するための最良の方法は何ですか?

分類Dev

私のウェブサイトをすべての画面サイズと互換性があるようにするための最良の方法は何ですか?

分類Dev

ウェブサイトからmp3を自動的に検出してダウンロードするFFアドオンを構築するための最良の方法は何ですか?

分類Dev

あなたのウェブサイトをより速くロードしてdjangoでより少ないデータを消費するようにあなたのウェブサイトをより速くするための最良の方法は何ですか

分類Dev

中断信号でサーバーのストップアクションを実装するための最良の方法は何ですか?

分類Dev

ウェブサイトから画像を一括ダウンロードするための最良の方法

Related 関連記事

  1. 1

    dbからウェブサイトを生成するための最良の方法は何でしょうか

  2. 2

    サイドパネルでUITabbarcontrollerを実装するための最良の方法は何ですか?

  3. 3

    Laravelのウェブサイトに別の言語を追加する最良の方法は何ですか?

  4. 4

    機密画像をウェブサイトに保存するための最も安全な方法は何ですか?

  5. 5

    AndroidにFacebookログインを実装するための最良の方法は何ですか?

  6. 6

    一部のデータは、24時間24時間実行中のPCで10分ごとに生成されます。私のウェブサイトがこのデータを取得するための最良の方法は何ですか?

  7. 7

    再注文方法を実装するための最良の方法は何ですか?

  8. 8

    私のウェブサイトでベンチマークとエラーを記録するための最良の方法は何ですか?

  9. 9

    ウェブサイト上のホームページをリンクするための最良の方法は何ですか

  10. 10

    IIS 7.5でサイトバインディング固有の構成を実装するための最良の方法は何ですか?

  11. 11

    ユーザーアカウントのアクティブ化を実装するための最良の方法は何ですか?

  12. 12

    JPAサマリーオブジェクトを取得するための最良の方法は何ですか?

  13. 13

    QGraphicsViewにインタラクティブなスプラインのような曲線を実装するための最良の方法は何ですか?

  14. 14

    複数の言語でウェブサイトを作成する最良の方法は何ですか?

  15. 15

    Pythonでウェブサイトからデータのリストを取得するための最良の方法

  16. 16

    PowerShellスクリプトの翻訳を実装するための最良の方法は何ですか?

  17. 17

    PowerShellスクリプトの翻訳を実装するための最良の方法は何ですか?

  18. 18

    私のコントロールを実装するための最良の方法は何ですか

  19. 19

    Androidで垂直フローテキストを実装するための最良の方法は何ですか?

  20. 20

    JPAで相互に排他的な関係を実装するための最良の方法は何ですか?

  21. 21

    「タイマー」を実装するための最良の方法は何ですか?

  22. 22

    チームと協力してウェブサイトで作業するための最良の方法は何ですか?

  23. 23

    チームと協力してウェブサイトで作業するための最良の方法は何ですか?

  24. 24

    mongoDBにFIFOコレクションを実装するための最良の方法は何ですか?

  25. 25

    私のウェブサイトをすべての画面サイズと互換性があるようにするための最良の方法は何ですか?

  26. 26

    ウェブサイトからmp3を自動的に検出してダウンロードするFFアドオンを構築するための最良の方法は何ですか?

  27. 27

    あなたのウェブサイトをより速くロードしてdjangoでより少ないデータを消費するようにあなたのウェブサイトをより速くするための最良の方法は何ですか

  28. 28

    中断信号でサーバーのストップアクションを実装するための最良の方法は何ですか?

  29. 29

    ウェブサイトから画像を一括ダウンロードするための最良の方法

ホットタグ

アーカイブ