web-dev-qa-db-ja.com

クッキーにトークを含む目的は何ですか?

WordPressはより良いセキュリティのためにクッキーを利用しています、そして私はこれがWordPressウェブサイトをより安全にする方法を正確に理解しようとしていました、そして私はこの記事を見つけました。かなりまともな説明がありますが、それは3.9バージョンに関するものなので、少し古くなっています。

現在のWordPressコードのソースと記事の例を比較したところ、理解できないことが1つありました。

クッキーはこのように見えました:

Set-Cookie: wordpress_urlhash=user|timestamp|hash

その記事の中で、その男はwordpress_urlhashusertimestampそしてhashも予測できると言ったので、基本的にはクッキー文字列全体を予測することができました。

問題は、クッキーが私たちが今使っているものと少し違うということです - それはtokenを持っていませんでした:

Set-Cookie: wordpress_urlhash=user|timestamp|token|hash

トークンが何のために導入されたのか、そしてそれが予測可能かどうかを誰かが知っていますか?私たちには固有の鍵/塩があるので、その目的は何ですか?

6

WP_Session_Tokensクラスのドキュメント に従って、このトークンはユーザーのセッションを検証するために使用されます。提供されたトークンを、そのユーザーのユーザーメタテーブルに格納されている既存のセッショントークンと照合して確認します。

セッショントークンは、 wp_generate_password関数 を使用して生成され、長さは43文字です。いいえ、予測できないはずです。

セッショントークンの作成方法 、および Cookieの確認方法については、ソースを確認してください .

1
dancriel