2

特定のCookieドメインが特定のホスト名と一致するかどうかを確認する簡単な方法を実装しようとしています。

これを行うために、RFC 6265 のセクション 5.1.3 で定義されているドメイン一致条件を実装します。

定義された 2 つの一致条件の 2 番目は、3 つのサブ条件が適用されるマルチパート条件です。

次のすべての条件が成り立ちます。

  • ドメイン文字列は、文字列のサフィックスです。
  • ドメイン文字列に含まれない文字列の最後の文字は、%x2E (".") 文字です。
  • 文字列はホスト名です (つまり、IP アドレスではありません)。

明確にするために、上記の引用テキストが「文字列」を参照する場合、それは Cookie のドメイン値を参照しており、上記の引用テキストが「ドメイン名」を参照する場合は、Cookie が送信されるホストのドメイン名を参照しています。送信される場合があります。

これら 3 つのサブ条件のうち、1 番目と 3 番目は非常に明確です。私が混乱しているのは、秒の文言です。

「example.com」の Cookie ドメインは「example.com」のみに一致し、「.example.com」の Cookie ドメインは「<anything>.example.com」に一致することは知っています。私の推測では、この広範なサブドメイン マッチングの概念を参照する場合、2 番目のサブ条件の上にあると思われますが、言葉遣いを考えると確信が持てません。

この 2 番目のサブ条件を平易な技術英語に翻訳できる人はいますか?

4

2 に答える 2

0

RFC 6265 のセクション 4.1.2.3 によると

たとえば、Domain 属性の値が「example.com」の場合、ユーザー エージェントは、example.com、www.example.com、およびwww.corp.example に対して HTTP 要求を行うときに Cookie ヘッダーに Cookie を含めます。コム。(先頭の %x2E (".") が存在する場合、その文字が許可されていなくても無視されますが、末尾の %x2E (".") が存在する場合、ユーザー エージェントは属性を無視することに注意してください。 )

したがって、ロジックは次のようになります。

1. check targetString endsWith domain
2. check lastChar(targetString) != "."
3. check targetString is host name
于 2016-12-29T20:30:38.240 に答える